版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章作業(yè)答案1. 微型計(jì)算機(jī)系統(tǒng)有哪三個(gè)層次,簡(jiǎn)述其內(nèi)涵及其聯(lián)系與區(qū)別。答:微型計(jì)算機(jī)系統(tǒng) -> 微型計(jì)算機(jī) -> 微處理器微型計(jì)算機(jī)是以微處理器為核心,配上由大規(guī)模集成電路制作的只讀存儲(chǔ)器(ROM)、讀寫存儲(chǔ)器(RAM)、輸入輸出接口電路及系統(tǒng)總線(計(jì)算機(jī)中連接各部件的一組公共通訊線)等所組成的計(jì)算機(jī)。微型計(jì)算機(jī)系統(tǒng)是以微型計(jì)算機(jī)為中心,配以相應(yīng)的外圍設(shè)備以及控制微型計(jì)算機(jī)工作的軟件(軟件分為系統(tǒng)軟件和應(yīng)用軟件兩大類)構(gòu)成的。微處理器是由一個(gè)大規(guī)模集成電路芯片構(gòu)成的微機(jī)中的核心芯片,內(nèi)含控制器、運(yùn)算器和寄存器等。2. 試述馮×諾依曼計(jì)算機(jī)體系結(jié)構(gòu)和馮×諾依曼
2、存儲(chǔ)程序工作原理。答:馮諾依曼機(jī)的體系結(jié)構(gòu)l 數(shù)據(jù)和程序以二進(jìn)制代碼的形式表示 l 數(shù)據(jù)和程序存放在存儲(chǔ)器中,存放位置由地址指定,地址碼也是二進(jìn)制形式l 計(jì)算機(jī)在程序控制下自動(dòng)執(zhí)行,具體來(lái)說(shuō),即控制器根據(jù)存放在存儲(chǔ)器中的指令序列(即程序)工作,并由一個(gè)程序計(jì)數(shù)器(PC)控制指令的執(zhí)行。馮諾依曼存儲(chǔ)程序工作原理:把程序存儲(chǔ)在計(jì)算機(jī)內(nèi),使計(jì)算機(jī)能像快速存取數(shù)據(jù)一樣地快速存取組成程序的指令。為實(shí)現(xiàn)控制器自動(dòng)連續(xù)地執(zhí)行程序,必須l 先把程序和數(shù)據(jù)送到存儲(chǔ)器中保存;l 然后給出程序中第一條指令的地址;l 控制器依據(jù)存儲(chǔ)程序中的指令順序周而復(fù)始地取指令、譯碼、執(zhí)行,直到完成全部指令操作為止,即控制器通過(guò)指
3、令流的串行順序驅(qū)動(dòng)實(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ì)算機(jī)字長(zhǎng)為8位,求機(jī)器數(shù)0E3H分別為原碼、反碼、補(bǔ)碼、無(wú)符號(hào)數(shù)、壓縮BCD碼時(shí)對(duì)應(yīng)的真值。答:原碼:227,反碼:-28,補(bǔ)碼:-29,無(wú)符號(hào)數(shù):227 壓縮BCD碼:無(wú)5(1). 設(shè)計(jì)算機(jī)字長(zhǎng)為8位,求機(jī)器數(shù)40H分別為原碼、反碼、補(bǔ)碼、無(wú)符號(hào)數(shù)、壓縮BCD碼時(shí)對(duì)應(yīng)的真值。答:原碼:64,反碼:64,補(bǔ)碼:65,無(wú)符號(hào)數(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ì)算機(jī)字長(zhǎng)為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ì)算機(jī)總線中有什么作用?緩沖輸出與非緩沖輸出比較,誰(shuí)的驅(qū)動(dòng)能力強(qiáng)?答:三態(tài)門具有高阻狀態(tài),可以增加總線的帶載能力;D觸發(fā)器在計(jì)算機(jī)中常作鎖存器用來(lái)鎖存地址信息或狀態(tài)信息。緩沖輸出的驅(qū)動(dòng)能力強(qiáng)。9.總線通常采用那些復(fù)用技術(shù)?答:分時(shí)復(fù)用和分頻復(fù)用。第二章作業(yè)答案18086是多少位的微處理器?為什么? 答:8086是16位的微處理器,其內(nèi)部數(shù)據(jù)通路為16位,對(duì)外的數(shù)據(jù)總線也是16位。 2EU與BIU各自的功能是什么?如何協(xié)同工作? 答
6、:EU是執(zhí)行部件,主要的功能是執(zhí)行指令。BIU是總線接口部件,與片外存儲(chǔ)器及I/O接口電路傳輸數(shù)據(jù)。EU經(jīng)過(guò)BIU進(jìn)行片外操作數(shù)的訪問(wèn),BIU為EU提供將要執(zhí)行的指令。EU與BIU可分別獨(dú)立工作,當(dāng)EU不需BIU提供服務(wù)時(shí),BIU可進(jìn)行填充指令隊(duì)列的操作。 38086對(duì)存儲(chǔ)器的管理為什么采用分段的辦法? 答:8086是一個(gè)16位的結(jié)構(gòu),采用分段管理辦法可形成超過(guò)16位的存儲(chǔ)器物理地址,擴(kuò)大對(duì)存儲(chǔ)器的尋址范圍 (1MB,20位地址)。若不用分段方法,16位地址只能尋址64KB空間。4在8086中,邏輯地址、偏移地址、物理地址分別指的是什么?具體說(shuō)明。 答:邏輯地址是在程序中對(duì)存儲(chǔ)器地址的一種表示
7、方法,由段地址和段內(nèi)偏移地址兩部分組成,如1234H:0088H。偏移地址是指段內(nèi)某個(gè)存儲(chǔ)單元相對(duì)該段首地址的差值,是一個(gè)16位的二進(jìn)制代碼。物理地址是8086芯片引線送出的20位地址碼,用來(lái)指出一個(gè)特定的存儲(chǔ)單元。5給定一個(gè)存放數(shù)據(jù)的內(nèi)存單元的偏移地址是20C0H,(DS)=0C00EH,求出該內(nèi)存單元的物理地址。 答:物理地址:320F8H。 6 8086被復(fù)位以后,有關(guān)寄存器的狀態(tài)是什么?微處理器從何處開(kāi)始執(zhí)行程序? 答:標(biāo)志寄存器、IP、DS、SS、ES和指令隊(duì)列置0,CS置全1。處理器從FFFFOH存儲(chǔ)單元取指令并開(kāi)始執(zhí)行。7 8086基本總線周期是如何組成的?各狀態(tài)中完成什么基本操
8、作? 答:基本總線周期由4個(gè)時(shí)鐘(CLK)周期組成,按時(shí)間順序定義為T1、T2、T3、T4。在T1期間8086發(fā)出訪問(wèn)目的地的地址信號(hào)和地址鎖存選通信號(hào)ALE;T2期間發(fā)出讀寫命令信號(hào)RD#、WR#及其它相關(guān)信號(hào);T3期間完成數(shù)據(jù)的訪問(wèn);T4結(jié)束該總線周期。 8 結(jié)合8086最小模式下總線操作時(shí)序圖,說(shuō)明ALE、M/IO#、DT/R#、RD#、READY信號(hào)的功能。 答:ALE為外部地址鎖存器的選通脈沖,在T1期間輸出;M/IO#確定總線操作的對(duì)象是存儲(chǔ)器還是I/O接口電路,在T1輸出;DT/R#為數(shù)據(jù)總線緩沖器的方向控制信號(hào),在T1輸出;RD#為讀命令信號(hào);在T2輸出;READY信號(hào)為存儲(chǔ)器
9、或I/O接口"準(zhǔn)備好"信號(hào),在T3期間給出,否則8086要在T3與T4間插入Tw等待狀態(tài)。9在基于8086的微計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)器是如何組織的?是如何與處理器總線連接的? BHE#信號(hào)起什么作用? 答:8086為16位處理器,可訪問(wèn)1M字節(jié)的存儲(chǔ)器空間;1M字節(jié)的存儲(chǔ)器分為兩個(gè)512K字節(jié)的存儲(chǔ)體,命名為偶字節(jié)體和奇字節(jié)體;偶體的數(shù)據(jù)線連接D7D0,"體選"信號(hào)接地址線A0;奇體的數(shù)據(jù)線連接D15D8,"體選"信號(hào)接BHE#信號(hào);BHE#信號(hào)有效時(shí)允許訪問(wèn)奇體中的高字節(jié)存儲(chǔ)單元,實(shí)現(xiàn)8086的低字節(jié)訪問(wèn)、高字節(jié)訪問(wèn)及字訪問(wèn)。第三章作業(yè)
10、答案3.1 簡(jiǎn)要分析8086的指令格式由哪些部分組成,什么是操作碼?什么是操作數(shù)?尋址和尋址方式的含義是什么?8086指令系統(tǒng)有哪些尋址方式?【解答】8086的指令格式由操作碼和操作數(shù)字段組成。操作碼:要完成的操作。操作數(shù):參與操作的對(duì)象。尋址:尋找操作數(shù)或操作數(shù)地址的過(guò)程。尋址方式:指令中給出的找到操作數(shù)或操作數(shù)地址采用的方式。8086指令系統(tǒng)的尋址方式主要有立即數(shù)尋址、寄存器尋址、存儲(chǔ)器尋址和I/O端口尋址。其中,存儲(chǔ)器尋址可進(jìn)一步分為直接尋址、寄存器間接尋址、寄存器相對(duì)尋址、基址變址尋址、相對(duì)基址變址尋址;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,請(qǐng)指出下列指令的源操作數(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相對(duì)寄存器尋址,EA =(BX)10D = 0100H000AH= 010AH,PA =(DS)×10HEA = 2000H×10H010AH = 2010AH(10) MOV AX,VALBX相對(duì)寄存器尋址,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相對(duì)基址變址尋址,EA = (BX)(SI)VAL= 0100H00A0H0050H = 01F0H,PA =(DS)×10HEA = 2000H×10H01F0H = 201F0H3.3 給定寄存器及存儲(chǔ)單元的內(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。試說(shuō)明下列各條指令執(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 分析下列指令的正誤,對(duì)于錯(cuò)誤的指令要說(shuō)明原因并加以改正。(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 錯(cuò)誤,寄存器類型不匹配,可改為MOV AX,BX(2) MOV BX,SI錯(cuò)誤,兩個(gè)操作數(shù)不能都為存儲(chǔ)單元,可改為MOV BX,S
19、I或MOV BX,SI(3) MOV AX,SIDI錯(cuò)誤,尋址方式中只能出現(xiàn)一個(gè)變址寄存器,可改為MOV AX,BXDI。(4) MOV BX,ES:AX錯(cuò)誤,AX簽不能有段跨越前綴,去掉ES:,改為MOV ES:BX,AX(5) MOV BYTE PTRBX,1000錯(cuò)誤,1000超出字節(jié)空間存儲(chǔ)范圍,改為 MOV word PTRBX,1000(6) MOV BX,OFFSET MAYDATSI ;正確(7) MOV CS,AX錯(cuò)誤,MOV指令CS不能做目的操作數(shù),可改為MOV DS,AX(8) MOV AX,BXBP 錯(cuò)誤,只能是基址變址尋址,不能是基址基址尋址注:本題錯(cuò)誤改
20、正部分有的答案并不唯一,可參考原題題意改成合法形式。3.5 設(shè)VAR1、VAR2為字變量,LAB為標(biāo)號(hào),分析下列指令的錯(cuò)誤之處并加以改正。(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錯(cuò)誤,兩個(gè)操作數(shù)不能都為存儲(chǔ)單元,可改為 MOV BX,VAR2ADD VAR1,BX(2) MOV AL,VAR2錯(cuò)誤,數(shù)據(jù)類型不匹配,可改為MOV AX,VAR2(3) SUB AL,VAR1錯(cuò)誤,數(shù)據(jù)類型不匹配,可改為SUB AX,
21、VAR1(4) JMP LABSI錯(cuò)誤,寄存器相對(duì)尋址形式中不能用標(biāo)號(hào)做位移量,可改為JMP VAR1SI(5) JNZ VAR1錯(cuò)誤,條件跳轉(zhuǎn)指令只能進(jìn)行段內(nèi)短跳轉(zhuǎn),所以后面只能跟短標(biāo)號(hào)??筛臑镴NZ LAB(6) JMP NEAR LAB錯(cuò)誤,缺少運(yùn)算符PTR,可改為JMP NEAR PTR LAB注:本題錯(cuò)誤改正部分有的答案并不唯一,可參考原題題意改成合法形式。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)的匯編語(yǔ)言指令。 (1) 把BX和DX寄存器的內(nèi)容相加,結(jié)果存入DX寄存器中; (2) 用BX和SI的基址變址尋址方式,把存儲(chǔ)器中的一個(gè)字節(jié)與AL內(nèi)容相加,并保存在AL寄存器中; (3) 用寄存器BX和位移量21B5H的變址尋址方式把存儲(chǔ)器中的一個(gè)字和(CX)相加,并把結(jié)果送回存儲(chǔ)器單元中; (4) 用位移量2158H的直接尋址方式把存儲(chǔ)器中的一個(gè)字與數(shù)3160H相加,并把結(jié)果送回該存儲(chǔ)器中; (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; 請(qǐng)寫出上述兩條指令執(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)存儲(chǔ)器地址及其內(nèi)容如下圖所示,請(qǐng)用兩條指令把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)容為帶符號(hào)數(shù), CX和DX中的內(nèi)容為無(wú)符號(hào)數(shù), 請(qǐng)用比較指令和條件轉(zhuǎn)移指令實(shí)現(xiàn)以下判斷:(1) 若DX的值超過(guò)CX的值,則轉(zhuǎn)去執(zhí)行EXCEED(2) 若BX的值大于AX的值,則轉(zhuǎn)去執(zhí)行EXCEED(3) CX中的值為0嗎? 若是則轉(zhuǎn)去執(zhí)行ZERO(4) BX的值與AX的值相減, 會(huì)產(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. 假如在程序的括號(hào)中分別填入指令: (1)
31、LOOP L20 (2) LOOPNE L20 (3) LOOPE L20試說(shuō)明在三種情況下, 當(dāng)程序執(zhí)行完后, AX、BX、CX、DX四個(gè)寄存器的內(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, 請(qǐng)寫出下列各條指令單獨(dú)執(zhí)行完后, 有關(guān)寄存器及存儲(chǔ)單元的內(nèi)容, 若影響條件碼請(qǐng)給出條件碼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ǔ)言源程序應(yīng)該由哪些邏輯段組成?各段的作用是什么?語(yǔ)句標(biāo)號(hào)和變量應(yīng)具備哪3種屬性?【解答】匯編語(yǔ)言源程序應(yīng)該由若干個(gè)邏輯段組成,可以有若干個(gè)數(shù)據(jù)段、代碼段、堆棧段和附加數(shù)據(jù)段,至少要有一個(gè)代碼段。各段的作用如下:(1)代碼段用來(lái)存放程序和常數(shù)。(2)數(shù)據(jù)段用于數(shù)據(jù)的保存。(3)堆棧段用于保護(hù)數(shù)據(jù),尤其在子程序調(diào)用、中斷過(guò)程中進(jìn)行現(xiàn)場(chǎng)信息保護(hù)。(4)附加數(shù)據(jù)段用于數(shù)據(jù)的保存。語(yǔ)句標(biāo)號(hào)和變量應(yīng)具備的3種屬性:段屬性、偏移屬性和類型屬性。4.2 指出下
44、列程序中的錯(cuò)誤: 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ù)項(xiàng)定義了多少個(gè)字節(jié)? DATA_1 DB 6 DUP(4 DUP(0FFH)答案: 24字節(jié)4.5. 對(duì)于下面兩個(gè)數(shù)據(jù)段,偏移地址為10H和11H的兩個(gè)字節(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. 存儲(chǔ)字時(shí)低8位存在低字節(jié),高8位存在高字節(jié).4.6. 下面的數(shù)據(jù)項(xiàng)設(shè)置了多
56、少個(gè)字節(jié)? (1) ASC_DATA DB '1234'(2) HEX_DATA DB 1234H答案: (1) 設(shè)置了4個(gè)字節(jié) (2) 設(shè)置了2個(gè)字節(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. 分析下列程序的功能,寫出堆棧最滿時(shí)各單元的地址及內(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位互換并放回原位置的程序,找出錯(cuò)誤并改正。 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行錯(cuò)誤:LEA SI,OFFSET DD1,應(yīng)去掉OFFSET;程序第10行錯(cuò)誤:RCR AL,CL,應(yīng)使用ROR或ROL,改為ROR AL,CL3.11 已知用寄存器BX作地址指針,自BUF所指的內(nèi)存單元開(kāi)始連續(xù)存放著3個(gè)無(wú)符號(hào)數(shù)字?jǐn)?shù)據(jù),編程序求它們的和,并將結(jié)果存放在這3個(gè)數(shù)之后?!窘獯稹繀⒖汲绦蛉缦拢篖EA BX,BUFMOV AX,BXADD AX,BX+2ADD AX,BX+4MOV BX+6,AX4.10 編寫程序,比較兩個(gè)字符串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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年收集中級(jí)注冊(cè)安全工程師之安全生產(chǎn)法及相關(guān)法律知識(shí)提升訓(xùn)練試卷A卷附答案
- 教師資格證及中小學(xué)教師公開(kāi)招聘-教育知識(shí)與能力-第四章教育目的
- 汽車租賃合同條款6篇
- 2024-2025學(xué)年新教材高中數(shù)學(xué)第13章立體幾何初步13.2基本圖形位置關(guān)系13.2.4.2兩平面垂直課時(shí)素養(yǎng)評(píng)價(jià)含解析蘇教版必修第二冊(cè)
- 2024-2025學(xué)年高中數(shù)學(xué)第三章空間向量與立體幾何3.1.3空間向量的數(shù)量積運(yùn)算課時(shí)作業(yè)含解析新人教A版選修2-1
- 2025屆高考數(shù)學(xué)二輪復(fù)習(xí)第一部分第6講專題訓(xùn)練6數(shù)學(xué)文化含解析新人教版
- 七年級(jí)美術(shù)下冊(cè)2想象與創(chuàng)意教學(xué)設(shè)計(jì)冀美版
- 2024-2025學(xué)年高中化學(xué)第一章從實(shí)驗(yàn)學(xué)化學(xué)1第2課時(shí)蒸餾和萃取學(xué)案新人教版必修1
- 體育科學(xué)研究方法(第三版)課件第八九章
- 20XX年關(guān)于軟件正版化情況的自查報(bào)告修改版
- 3.15 秦漢時(shí)期的科技與文化 課件 2024-2025學(xué)年七年級(jí)歷史上學(xué)期
- 特種玻璃課件
- 基于創(chuàng)新能力培養(yǎng)的初中物理跨學(xué)科實(shí)踐教學(xué)策略
- Unit 2 This is my pencil. Lesson 10(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教精通版英語(yǔ)三年級(jí)上冊(cè)
- 新版高血壓病人的護(hù)理培訓(xùn)課件
- 醫(yī)院等級(jí)創(chuàng)建工作匯報(bào)
- 2024年江西省公務(wù)員錄用考試《行測(cè)》題(網(wǎng)友回憶版)(題目及答案解析)
- VDA6.3基礎(chǔ)培訓(xùn)考核測(cè)試卷附答案
- 第01講 正數(shù)和負(fù)數(shù)、有理數(shù)-人教版新七年級(jí)《數(shù)學(xué)》暑假自學(xué)提升講義(解析版)
- 信息系統(tǒng)部署與運(yùn)維-題庫(kù)帶答案
- 婚姻心理學(xué)解讀包含內(nèi)容
評(píng)論
0/150
提交評(píng)論