微機(jī)原理作業(yè)及答案2012_第1頁
微機(jī)原理作業(yè)及答案2012_第2頁
微機(jī)原理作業(yè)及答案2012_第3頁
微機(jī)原理作業(yè)及答案2012_第4頁
微機(jī)原理作業(yè)及答案2012_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章作業(yè)答案1. 微型計算機(jī)系統(tǒng)有哪三個層次,簡述其內(nèi)涵及其聯(lián)系與區(qū)別。答:微型計算機(jī)系統(tǒng) -> 微型計算機(jī) -> 微處理器微型計算機(jī)是以微處理器為核心,配上由大規(guī)模集成電路制作的只讀存儲器(ROM)、讀寫存儲器(RAM)、輸入輸出接口電路及系統(tǒng)總線(計算機(jī)中連接各部件的一組公共通訊線)等所組成的計算機(jī)。微型計算機(jī)系統(tǒng)是以微型計算機(jī)為中心,配以相應(yīng)的外圍設(shè)備以及控制微型計算機(jī)工作的軟件(軟件分為系統(tǒng)軟件和應(yīng)用軟件兩大類)構(gòu)成的。微處理器是由一個大規(guī)模集成電路芯片構(gòu)成的微機(jī)中的核心芯片,內(nèi)含控制器、運(yùn)算器和寄存器等。2. 試述馮×諾依曼計算機(jī)體系結(jié)構(gòu)和馮×諾依曼

2、存儲程序工作原理。答:馮諾依曼機(jī)的體系結(jié)構(gòu)l 數(shù)據(jù)和程序以二進(jìn)制代碼的形式表示 l 數(shù)據(jù)和程序存放在存儲器中,存放位置由地址指定,地址碼也是二進(jìn)制形式l 計算機(jī)在程序控制下自動執(zhí)行,具體來說,即控制器根據(jù)存放在存儲器中的指令序列(即程序)工作,并由一個程序計數(shù)器(PC)控制指令的執(zhí)行。馮諾依曼存儲程序工作原理:把程序存儲在計算機(jī)內(nèi),使計算機(jī)能像快速存取數(shù)據(jù)一樣地快速存取組成程序的指令。為實(shí)現(xiàn)控制器自動連續(xù)地執(zhí)行程序,必須l 先把程序和數(shù)據(jù)送到存儲器中保存;l 然后給出程序中第一條指令的地址;l 控制器依據(jù)存儲程序中的指令順序周而復(fù)始地取指令、譯碼、執(zhí)行,直到完成全部指令操作為止,即控制器通過指

3、令流的串行順序驅(qū)動實(shí)現(xiàn)程序控制。3. 將二進(jìn)制數(shù)11011.011轉(zhuǎn)換成十進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)。答:27.375D,33.3O,1B.6H4. 將十進(jìn)制數(shù)240.75轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制和十六進(jìn)制數(shù)答:11110000.11B, 360.6O, F0.CH5. 設(shè)計算機(jī)字長為8位,求機(jī)器數(shù)0E3H分別為原碼、反碼、補(bǔ)碼、無符號數(shù)、壓縮BCD碼時對應(yīng)的真值。答:原碼:227,反碼:-28,補(bǔ)碼:-29,無符號數(shù):227 壓縮BCD碼:無5(1). 設(shè)計算機(jī)字長為8位,求機(jī)器數(shù)40H分別為原碼、反碼、補(bǔ)碼、無符號數(shù)、壓縮BCD碼時對應(yīng)的真值。答:原碼:64,反碼:64,補(bǔ)碼:65,無符號數(shù):

4、64 壓縮BCD碼:0110 0100 6. 已知X=87,Y=-56,用補(bǔ)碼完成下列運(yùn)算,并討論結(jié)果是否溢出X+YX-Y 0101 0111 0101 0111 0101 0111+1100 1000 +0011 1000 - 1100 1000 10001 1111 (31D 不溢出) 1000 1111 (-120D 溢出) 1000 11117.設(shè)計算機(jī)字長為8位,寫出十進(jìn)制數(shù)+1,-1,-126,-127的原碼、反碼和補(bǔ)碼 原碼:0000 0001B, 1000 0001B, 1111 1110B, 1111 1111B反碼: 0000 0001B, 1111 1110B, 1000

5、 0001B, 1000 0000B補(bǔ)碼: 0000 0001B, 1111 1111B, 1000 0010B, 1000 0001B8. 常用的三態(tài)門和D觸發(fā)器在計算機(jī)總線中有什么作用?緩沖輸出與非緩沖輸出比較,誰的驅(qū)動能力強(qiáng)?答:三態(tài)門具有高阻狀態(tài),可以增加總線的帶載能力;D觸發(fā)器在計算機(jī)中常作鎖存器用來鎖存地址信息或狀態(tài)信息。緩沖輸出的驅(qū)動能力強(qiáng)。9.總線通常采用那些復(fù)用技術(shù)?答:分時復(fù)用和分頻復(fù)用。第二章作業(yè)答案18086是多少位的微處理器?為什么? 答:8086是16位的微處理器,其內(nèi)部數(shù)據(jù)通路為16位,對外的數(shù)據(jù)總線也是16位。 2EU與BIU各自的功能是什么?如何協(xié)同工作? 答

6、:EU是執(zhí)行部件,主要的功能是執(zhí)行指令。BIU是總線接口部件,與片外存儲器及I/O接口電路傳輸數(shù)據(jù)。EU經(jīng)過BIU進(jìn)行片外操作數(shù)的訪問,BIU為EU提供將要執(zhí)行的指令。EU與BIU可分別獨(dú)立工作,當(dāng)EU不需BIU提供服務(wù)時,BIU可進(jìn)行填充指令隊列的操作。 38086對存儲器的管理為什么采用分段的辦法? 答:8086是一個16位的結(jié)構(gòu),采用分段管理辦法可形成超過16位的存儲器物理地址,擴(kuò)大對存儲器的尋址范圍 (1MB,20位地址)。若不用分段方法,16位地址只能尋址64KB空間。4在8086中,邏輯地址、偏移地址、物理地址分別指的是什么?具體說明。 答:邏輯地址是在程序中對存儲器地址的一種表示

7、方法,由段地址和段內(nèi)偏移地址兩部分組成,如1234H:0088H。偏移地址是指段內(nèi)某個存儲單元相對該段首地址的差值,是一個16位的二進(jìn)制代碼。物理地址是8086芯片引線送出的20位地址碼,用來指出一個特定的存儲單元。5給定一個存放數(shù)據(jù)的內(nèi)存單元的偏移地址是20C0H,(DS)=0C00EH,求出該內(nèi)存單元的物理地址。 答:物理地址:320F8H。 6 8086被復(fù)位以后,有關(guān)寄存器的狀態(tài)是什么?微處理器從何處開始執(zhí)行程序? 答:標(biāo)志寄存器、IP、DS、SS、ES和指令隊列置0,CS置全1。處理器從FFFFOH存儲單元取指令并開始執(zhí)行。7 8086基本總線周期是如何組成的?各狀態(tài)中完成什么基本操

8、作? 答:基本總線周期由4個時鐘(CLK)周期組成,按時間順序定義為T1、T2、T3、T4。在T1期間8086發(fā)出訪問目的地的地址信號和地址鎖存選通信號ALE;T2期間發(fā)出讀寫命令信號RD#、WR#及其它相關(guān)信號;T3期間完成數(shù)據(jù)的訪問;T4結(jié)束該總線周期。 8 結(jié)合8086最小模式下總線操作時序圖,說明ALE、M/IO#、DT/R#、RD#、READY信號的功能。 答:ALE為外部地址鎖存器的選通脈沖,在T1期間輸出;M/IO#確定總線操作的對象是存儲器還是I/O接口電路,在T1輸出;DT/R#為數(shù)據(jù)總線緩沖器的方向控制信號,在T1輸出;RD#為讀命令信號;在T2輸出;READY信號為存儲器

9、或I/O接口"準(zhǔn)備好"信號,在T3期間給出,否則8086要在T3與T4間插入Tw等待狀態(tài)。9在基于8086的微計算機(jī)系統(tǒng)中,存儲器是如何組織的?是如何與處理器總線連接的? BHE#信號起什么作用? 答:8086為16位處理器,可訪問1M字節(jié)的存儲器空間;1M字節(jié)的存儲器分為兩個512K字節(jié)的存儲體,命名為偶字節(jié)體和奇字節(jié)體;偶體的數(shù)據(jù)線連接D7D0,"體選"信號接地址線A0;奇體的數(shù)據(jù)線連接D15D8,"體選"信號接BHE#信號;BHE#信號有效時允許訪問奇體中的高字節(jié)存儲單元,實(shí)現(xiàn)8086的低字節(jié)訪問、高字節(jié)訪問及字訪問。第三章作業(yè)

10、答案3.1 簡要分析8086的指令格式由哪些部分組成,什么是操作碼?什么是操作數(shù)?尋址和尋址方式的含義是什么?8086指令系統(tǒng)有哪些尋址方式?【解答】8086的指令格式由操作碼和操作數(shù)字段組成。操作碼:要完成的操作。操作數(shù):參與操作的對象。尋址:尋找操作數(shù)或操作數(shù)地址的過程。尋址方式:指令中給出的找到操作數(shù)或操作數(shù)地址采用的方式。8086指令系統(tǒng)的尋址方式主要有立即數(shù)尋址、寄存器尋址、存儲器尋址和I/O端口尋址。其中,存儲器尋址可進(jìn)一步分為直接尋址、寄存器間接尋址、寄存器相對尋址、基址變址尋址、相對基址變址尋址;I/O端口指令I(lǐng)N和OUT使用的端口尋址方式有直接尋址和間接尋址。3.2 設(shè)(DS

11、)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,數(shù)據(jù)變量VAL的偏移地址為0050H,請指出下列指令的源操作數(shù)字段是什么尋址方式?它的物理地址是多少?(1) MOV AX,21H (2) MOV AX,BX (3) MOV AX,1000H(4) MOV AX,VAL (5) MOV AX,BX (6) MOV AX,ES:BX(7) MOV AX,BP (8) MOV AX,SI (9) MOV AX,BX+10(10) MOV AX,VALBX (11) MOV AX,BXSI (12) MOV AX,

12、VALBXSI【解答】(1) MOV AX,21H 立即尋址,源操作數(shù)直接放在指令中(2) MOV AX,BX 寄存器尋址,源操作數(shù)放在寄存器BX中(3) MOV AX,1000H直接尋址,EA = 1000H,PA =(DS)×10HEA = 2000H×10H1000H = 21000H(4) MOV AX,VAL直接尋址,EA = VAL = 0050H,PA =(DS)×10HEA = 2000H×10H0050H = 20050H(5) MOV AX,BX寄存器間接尋址,EA =(BX)= 0100H,PA =(DS)×10HEA =

13、 2000H×10H0100H = 20100H(6) MOV AX,ES:BX寄存器間接尋址,EA =(BX)= 0100H,PA =(ES)×10HEA = 2100H×10H0100H = 21100H(7) MOV AX,BP寄存器間接尋址,EA =(BP)= 0010H,PA =(SS)×10HEA = 1500H×10H0010H = 15010H(8) MOV AX,SI寄存器間接尋址,EA =(SI)= 00A0H,PA =(DS)×10HEA = 2000H×10H00A0H = 200A0H(9) MOV

14、 AX,BX+10相對寄存器尋址,EA =(BX)10D = 0100H000AH= 010AH,PA =(DS)×10HEA = 2000H×10H010AH = 2010AH(10) MOV AX,VALBX相對寄存器尋址,EA =(BX)VAL= 0100H0050H= 0150H,PA =(DS)×10HEA = 2000H×10H0150H = 20150H(11) MOV AX,BXSI基址變址尋址,EA = (BX)(SI)= 0100H00A0H = 01A0H,PA = (DS)×10HEA = 2000H×10H0

15、1A0H = 201A0H(12) MOV AX,VALBXSI相對基址變址尋址,EA = (BX)(SI)VAL= 0100H00A0H0050H = 01F0H,PA =(DS)×10HEA = 2000H×10H01F0H = 201F0H3.3 給定寄存器及存儲單元的內(nèi)容為:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 2

16、9H。試說明下列各條指令執(zhí)行完后,AX寄存器中保存的內(nèi)容是什么。(1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,1200H(4) MOV AX,BX (5) MOV AX,1100HBX (6) MOV AX,BXSI【解答】(1) MOV AX,1200H ;執(zhí)行后,(AX)= 1200H(2) MOV AX,BX ;執(zhí)行后,(AX)= (BX)= 0100H(3) MOV AX,1200H 直接尋址,EA = VAL = 1200H,PA =(DS)×10HEA = 2000H×10H1200H = 21200H,執(zhí)行后,(AX)=

17、B61AH(4) MOV AX,BXEA = (BX)= 0100H,PA =(DS)×10HEA = 2000H×10H0100H = 20100H,執(zhí)行后,(AX)= 5132H(5) MOV AX,1100HBXEA =(BX)1100H = 0100H1100H = 1200H,PA =(DS)×10HEA = 2000H×10H1200H = 21200H,執(zhí)行后,(AX)= B61AH(6) MOV AX,BXSIEA =(BX)(SI)= 0100H0002H = 0102H,PA =(DS)×10HEA = 2000H×

18、;10H0102H = 20102H,執(zhí)行后,(AX)= 29D1H3.4 分析下列指令的正誤,對于錯誤的指令要說明原因并加以改正。(1) MOV AH,BX (2) MOV BX,SI(3) MOV AX,SIDI (4) MOV BX,ES:AX(5) MOV BYTE PTRBX,1000 (6) MOV BX,OFFSET MAYDATSI (7) MOV CS,AX (8) MOV  AX,BXBP 【解答】(1) MOV AH,BX 錯誤,寄存器類型不匹配,可改為MOV AX,BX(2) MOV BX,SI錯誤,兩個操作數(shù)不能都為存儲單元,可改為MOV BX,S

19、I或MOV BX,SI(3) MOV AX,SIDI錯誤,尋址方式中只能出現(xiàn)一個變址寄存器,可改為MOV AX,BXDI。(4) MOV BX,ES:AX錯誤,AX簽不能有段跨越前綴,去掉ES:,改為MOV ES:BX,AX(5) MOV BYTE PTRBX,1000錯誤,1000超出字節(jié)空間存儲范圍,改為 MOV word PTRBX,1000(6) MOV BX,OFFSET MAYDATSI ;正確(7) MOV CS,AX錯誤,MOV指令CS不能做目的操作數(shù),可改為MOV DS,AX(8) MOV  AX,BXBP 錯誤,只能是基址變址尋址,不能是基址基址尋址注:本題錯誤改

20、正部分有的答案并不唯一,可參考原題題意改成合法形式。3.5 設(shè)VAR1、VAR2為字變量,LAB為標(biāo)號,分析下列指令的錯誤之處并加以改正。(1) ADD VAR1,VAR2 (2) MOV AL,VAR2(3) SUB AL,VAR1 (4) JMP LABSI(5) JNZ VAR1 (6) JMP NEAR LAB【解答】(1) ADD VAR1,VAR2錯誤,兩個操作數(shù)不能都為存儲單元,可改為 MOV BX,VAR2ADD VAR1,BX(2) MOV AL,VAR2錯誤,數(shù)據(jù)類型不匹配,可改為MOV AX,VAR2(3) SUB AL,VAR1錯誤,數(shù)據(jù)類型不匹配,可改為SUB AX,

21、VAR1(4) JMP LABSI錯誤,寄存器相對尋址形式中不能用標(biāo)號做位移量,可改為JMP VAR1SI(5) JNZ VAR1錯誤,條件跳轉(zhuǎn)指令只能進(jìn)行段內(nèi)短跳轉(zhuǎn),所以后面只能跟短標(biāo)號??筛臑镴NZ LAB(6) JMP NEAR LAB錯誤,缺少運(yùn)算符PTR,可改為JMP NEAR PTR LAB注:本題錯誤改正部分有的答案并不唯一,可參考原題題意改成合法形式。3.6 寫出能夠完成下列操作的8086CPU指令。(1) 把4629H傳送給AX寄存器;(2) 從AX寄存器中減去3218H;(3) 把BUF的偏移地址送入BX中?!窘獯稹?1) MOV AX,4629H(2) SUB AX,32

22、18H(3) LEA BX,BUF3.7 根據(jù)以下要求寫出相應(yīng)的匯編語言指令。 (1) 把BX和DX寄存器的內(nèi)容相加,結(jié)果存入DX寄存器中; (2) 用BX和SI的基址變址尋址方式,把存儲器中的一個字節(jié)與AL內(nèi)容相加,并保存在AL寄存器中; (3) 用寄存器BX和位移量21B5H的變址尋址方式把存儲器中的一個字和(CX)相加,并把結(jié)果送回存儲器單元中; (4) 用位移量2158H的直接尋址方式把存儲器中的一個字與數(shù)3160H相加,并把結(jié)果送回該存儲器中; (5) 把數(shù)25H與(AL)相加,結(jié)果送回寄存器AL中?!窘獯稹?1) ADD DX,BX(2) ADD AL,BXSI(3) ADD 21

23、B5HBX,CX(4) ADD WORD PTR 2158H,3160H(5) ADD AL,25H3.8 執(zhí)行下列指令后,AX寄存器中的內(nèi)容是什么?TABLE DB 10,20,30,40,50ENTRY DW 3 MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BXAX= 【解答】AX= 3228H 3.9 DATA SEGMENTTABLE_ADDR  DW  1234HDATA  ENDSMOV  BX, TABLE_ADDRLEA  BX, TABLE_ADDR      &#

24、160;  請寫出上述兩條指令執(zhí)行后, BX寄存器中的內(nèi)容。答案:MOV  BX,TABLE_ADDR; 執(zhí)行后(BX)=1234HLEA BX,TABLE_ADDR  執(zhí)行后(BX)=OFFSET TABLE_ADDR3.10. 設(shè)(DS)=1B00H, (ES)=2B00H, 有關(guān)存儲器地址及其內(nèi)容如下圖所示,請用兩條指令把X裝入AX寄存器。1B00:2000H        8000H1B00:2002H        2B00H     

25、   .        .2B00:8000H        X答案:LES   BX, 2000HMOV  AX, ES: BX3.11. 試分析下面的程序段完成什么操作?                MOV                CL,04       

26、        SHL                DX,CL                MOV                BL,AH                SHL        &

27、#160;       AX,CL                SHR                BL,CL                OR                DL,BL答案:將DX: AX中的雙字左移4位(乘16)3.12.&

28、#160; 假定AX和BX中的內(nèi)容為帶符號數(shù), CX和DX中的內(nèi)容為無符號數(shù), 請用比較指令和條件轉(zhuǎn)移指令實(shí)現(xiàn)以下判斷:(1)    若DX的值超過CX的值,則轉(zhuǎn)去執(zhí)行EXCEED(2)    若BX的值大于AX的值,則轉(zhuǎn)去執(zhí)行EXCEED(3)    CX中的值為0嗎? 若是則轉(zhuǎn)去執(zhí)行ZERO(4)    BX的值與AX的值相減, 會產(chǎn)生溢出嗎? 若溢出則轉(zhuǎn)OVERFLOW(5)    若BX的值小于AX的值,則轉(zhuǎn)去執(zhí)行EQ_SMA(6)    若DX的值低于CX

29、的值,則轉(zhuǎn)去執(zhí)行EQ_SMA答案:(1) CMP        DX, CX    JA        EXCEED(2) CMP        BX, AX    JG        EXCEED(3) CMP        CX, 0    JE        ZERO(4) SUB 

30、       BX, AX    JO        OVERFLOW(5) CMP        BX, AX    JL        EQ_SMA(6) CMP        DX, CX    JB        EQ_SMA3.13.  假如在程序的括號中分別填入指令: (1)

31、LOOP  L20  (2) LOOPNE  L20  (3) LOOPE  L20試說明在三種情況下, 當(dāng)程序執(zhí)行完后, AX、BX、CX、DX四個寄存器的內(nèi)容分別是什么?                TITLE        EXLOOP.COM                CODESG 

32、      SEGMENT                                ASSUME        CS:CODESG, DS:CODESG. SS:CODESG                          

33、0;     ORG                100H                BEGIN:        MOV                AX,01                  

34、60;             MOV                BX,02                                MOV                DX,03   

35、                            MOV                CX,04                L20:                INC     

36、;           AX                                ADD                BX,AX                        &

37、#160;       SHR                DX,1                                (             )            &

38、#160;                   RET                CODESG        ENDS                                END     

39、;           BEGIN答案:(1)(AX)= 5    (BX)= 16  (CX)= 0   (DX)= 0(2)(AX)= 3    (BX)= 7   (CX)= 2   (DX)= 0(3)(AX)= 2    (BX)= 4   (CX)= 3   (DX)= 13.14.  假設(shè)(CS)=3000H, (DS)=4000H,

40、 (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 請寫出下列各條指令單獨(dú)執(zhí)行完后, 有關(guān)寄存器及存儲單元的內(nèi)容, 若影響條件碼請給出條件碼SF、ZF、OF、CF的值。(1) SBB        AX,BX (2) CMP 

41、;       AX,WORD PTRSI+0FA0H (3) MUL        BYTE PTRBX(4) DIV        BH (5) SAR        AX,CL(6) XOR        AX,0FFE7H(7) REP        STOSB(8) JMP        WORD PYRBX

42、(9) XCHG        AX,ES:BX+SI  答案:(1) (AX)=0F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1(2) (SF)=1, (ZF)=0, (OF)=1, (CF)=1(3) (AX)=0240H, (OF)=1, (CF)=1 (4) (AX)=20ACH(5) (AX)=0103H, (CF)=0(6) (AX)=0DF87H, (CF)=0, (OF)=0, (SF)=1, (ZF)=0(7) (23000H)(23004H)=60H, 不影響標(biāo)志位(8) (IP)=0A

43、006H, 不影響標(biāo)志位(9) (AX)=00B0H, (25060)=2060H, 不影響標(biāo)志位第四章作業(yè)答案4.1 分析匯編語言源程序應(yīng)該由哪些邏輯段組成?各段的作用是什么?語句標(biāo)號和變量應(yīng)具備哪3種屬性?【解答】匯編語言源程序應(yīng)該由若干個邏輯段組成,可以有若干個數(shù)據(jù)段、代碼段、堆棧段和附加數(shù)據(jù)段,至少要有一個代碼段。各段的作用如下:(1)代碼段用來存放程序和常數(shù)。(2)數(shù)據(jù)段用于數(shù)據(jù)的保存。(3)堆棧段用于保護(hù)數(shù)據(jù),尤其在子程序調(diào)用、中斷過程中進(jìn)行現(xiàn)場信息保護(hù)。(4)附加數(shù)據(jù)段用于數(shù)據(jù)的保存。語句標(biāo)號和變量應(yīng)具備的3種屬性:段屬性、偏移屬性和類型屬性。4.2  指出下

44、列程序中的錯誤:        STAKSG        SEGMENT                        DB        100 DUP(?)        STA_SG        ENDS        DTSEG

45、        SEGMENT        DATA1        DB        ?        DTSEG        END        CDSEG        SEGMENT        MAIN  &#

46、160;     PROC        FAR        START:        MOV                DS,DATSEG                        MOV        &

47、#160;       AL,34H                        ADD                AL,4FH                        MOV        

48、60;       DATA,AL        START        ENDP        CDSEG        ENDS                        END答案:STAKSG        SEGMENTDB 

49、;               100 DUP(?)STAKSG        ENDSDTSEG                SEGMENTDATA1                DB        ?DTSEG          &

50、#160;     ENDSCDSEG         SEGMENTMAIN                PROC        FAR        ASSUME CS: CDSEG, DS: DTSEG, SS: STAKSGSTART:                MOV  &

51、#160;     AX, DTSEGMOV        DS, AXMOV        AL, 34HADD        AL, 4FHMOV        DATA1, ALMOV        AH, 4CHINT                21HMAIN   

52、    ENDPCDSEG        ENDS                ENDS4.3.  將下列文件類型填入空格:(1) .obj  (2) .exe  (3) .crf  (4) .asm  (5) .lst  編輯程序輸出的文件有_;匯編程序輸出的文件有_;連接程序輸出的文件有_。答案:編輯程序輸出文件: (4)匯編程序輸

53、出文件: (1), (3), (5)連接程序輸出文件: (2) 4.4  下面的數(shù)據(jù)項定義了多少個字節(jié)?        DATA_1        DB        6 DUP(4 DUP(0FFH)答案:       24字節(jié)4.5.  對于下面兩個數(shù)據(jù)段,偏移地址為10H和11H的兩個字節(jié)中的數(shù)據(jù)是一樣的嗎?為什么?        DTSEG SEGM

54、ENT             |    DTSEG  SEGMENT        ORG 10H           |     ORG 10H        DATA1 DB 72H              &#

55、160;   |      DATA1 DW 7204H        DB 04H        | DTSEG ENDS        DTSEG        ENDS    |答案:不一樣. 分別是72H, 04H和04H, 72H. 存儲字時低8位存在低字節(jié),高8位存在高字節(jié).4.6.  下面的數(shù)據(jù)項設(shè)置了多

56、少個字節(jié)? (1) ASC_DATA  DB '1234'(2) HEX_DATA  DB 1234H答案:  (1) 設(shè)置了4個字節(jié)    (2) 設(shè)置了2個字節(jié)4.7.   執(zhí)行下列指令后, AX寄存器中的內(nèi)容是什么?                TABLE DW  10,20,30,40,50           

57、     ENTRY DW 3          .          .MOV  BX,OFFSET TABLEADD  BX,ENTRYMOV  AX,BX答案:  (AX)=1E00H4.8.  分析下列程序的功能,寫出堆棧最滿時各單元的地址及內(nèi)容。        SSEG SEGMENT 'STACK'

58、AT 1000H        ; 堆棧的段地址為1000H         DW  128 DUP(?)         TOS  LABEL  WORD        SSEG ENDS; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  &

59、#160;     DSEG SEGMENT        DW  32 DUP(?)         DSEG ENDS; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -        CSEG SEGMENT        MAIN  PRO

60、C  FAR        ASSUME CS:CSEG, DS SEG,SS:SSEG        START:        MOV  AX,SSEG                     MOV SS,AX                  

61、0;  MOV AX,DSEG                     MOV DS,AX                     MOV AX,4321H                     CALL HTOA      &

62、#160; RETN:        MOV AH,4CH                     INT 21H        MAIN        ENDP        ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

63、- - - - - -        HTOA        PROC NEAR                        CMP AX,15                        JLE B1          &#

64、160;             PUSH AX                        PUSH BP                        MOV  BP,SP               

65、        MOV  BX,BP+2                        AND  BX,0FH                        MOV  BP+2,BX               

66、;         POP  BP                        MOV  CL,4                        SHR  AX,CL                 

67、;       CALL  HTOA        B1: POP  AX        B2: ADD  AL,30H        JL  PRT        ADD  AL,07        PRT:  MOV  DL,AL         

68、;     MOV  AH,2              INT  21H                RET        HTOA  ENDP        CSEG  ENDS        ;         ; - -

69、 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                        END START答案:1000:0F2H B1 1000:0F4H 31000:0F6H B1 1000:0F8H 21000:0FAH        B1 1000:0FCH        1

70、1000:0FEH        RETN 1000:100H       4.9 下面是將內(nèi)存一字節(jié)數(shù)據(jù)高4位和低4位互換并放回原位置的程序,找出錯誤并改正。 DATA SEGMENTDD1 DB 23HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA SI,OFFSET DD1MOV AL,SIMOV CL,4RCR AL,CLMOV SI,ALMOV AH,4CHINT 21HCODE ENDS END STAR

71、T【解答】程序第8行錯誤:LEA SI,OFFSET DD1,應(yīng)去掉OFFSET;程序第10行錯誤:RCR AL,CL,應(yīng)使用ROR或ROL,改為ROR AL,CL3.11 已知用寄存器BX作地址指針,自BUF所指的內(nèi)存單元開始連續(xù)存放著3個無符號數(shù)字?jǐn)?shù)據(jù),編程序求它們的和,并將結(jié)果存放在這3個數(shù)之后?!窘獯稹繀⒖汲绦蛉缦拢篖EA BX,BUFMOV AX,BXADD AX,BX+2ADD AX,BX+4MOV BX+6,AX4.10  編寫程序,比較兩個字符串STRING1和STRING2所含字符是否完全相同,若相同則顯示"MATCH",若不同則顯示&

72、quot;NO MATCH"。答案:datarea segment string1 db 'asfioa' string2 db 'xcviyoaf' mess1 db 'MATCH','$' mess2 db 'NO MATCH','$'datarea endsprognam segmentmain proc farassume cs:prognam,ds:datareastart:push dssub ax,axpush axmov ax,datareamov ds,axmov es,axbegin: mov cx, string2-string1 mov bx, mess1-string2 cmp bx,cx jnz d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論