




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 26879-2025糧油儲藏平房倉隔熱技術(shù)規(guī)范
- 勞動合同參考模板
- 優(yōu)化保獎服務(wù)合作合同書2025
- 12 我們小點(diǎn)兒聲 第一課時(教學(xué)設(shè)計)-2024-2025學(xué)年統(tǒng)編版道德與法治二年級上冊
- 課程計劃和教學(xué)計劃
- 標(biāo)準(zhǔn)電工合同模板大全
- 市政道路工程合同范本
- 有限責(zé)任公司組建合同:出資與權(quán)益分配
- 7 扇形統(tǒng)計圖 第二課時(教學(xué)設(shè)計)-2024-2025學(xué)年六年級上冊數(shù)學(xué)人教版
- 采購合同協(xié)議書合同范本
- 《電力建設(shè)施工技術(shù)規(guī)范 第2部分:鍋爐機(jī)組》DLT 5190.2
- 教案設(shè)計常見問題及解決措施
- (正式版)JBT 14682-2024 多關(guān)節(jié)機(jī)器人用伺服電動機(jī)技術(shù)規(guī)范
- 《寧向東的清華管理學(xué)課》學(xué)習(xí)筆記
- 信訪維穩(wěn)工作培訓(xùn)
- 品牌社群視角下顧客參與價值共創(chuàng)的影響研究-基于小米社群運(yùn)營案例分析
- 《銀行保險理財沙龍》課件
- 像科學(xué)家一樣思考-怎么做-怎么教-
- 酒店公共區(qū)域清潔培訓(xùn)
- Lesson-1.-spring-festival(雙語課件-春節(jié))
- 客服呼叫質(zhì)檢述職報告
評論
0/150
提交評論