微機(jī)原理第二版答案_第1頁
微機(jī)原理第二版答案_第2頁
微機(jī)原理第二版答案_第3頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.3完成卜列數(shù)制的轉(zhuǎn)換。(1) 10100110B=()D =( )H 0.11B=()D(3) 253.25=()B =()H(4) 1011011.101B=()H =()BCD解:(1) 166, A6H(2) 0.75(3) 11111101.01B, FD.4H(4)15寫出下列真值對(duì)應(yīng)的原碼和補(bǔ)碼的形式。(1) X= -1110011B(2) X-71D(3) X=+1001001B解:100011011011100101001001(1) 原碼:11110011 補(bǔ)碼:(2) 原碼:11000111 補(bǔ)碼:(3) 原碼:01001001 補(bǔ)碼:1.6寫出符號(hào)數(shù)10110101B

2、的反碼和補(bǔ)碼。11001010, 110010111.7已知X和Y的真值,求X+Y啲補(bǔ)碼。(1) X1110111B Y=+1011010B(2) X=56D Y= -21D 解/tJT(1) 11100011(2) 001000112.15 8086/8088系統(tǒng)中,存儲(chǔ)器為什么要分段? 一個(gè) 段最大為多少個(gè)字節(jié)?最小為多少個(gè)字節(jié)? 解:分段的主要冃的足便于存儲(chǔ)器的管理,使得可以 用16位寄存器來尋址20位的內(nèi)存空間。一個(gè)段最大為 64KB,最小為16B。2.16在8086/8088 CPU中,物理地址和邏輯地址是指 什么?已知邏輯地址為1F00: 38A0H,如何計(jì)算出其對(duì)應(yīng)的物理地址?解

3、物理地址時(shí)CPU存取存儲(chǔ)器所用的地址。邏輯地 址是段和偏移地址形式的地址,即匯編語言程序中使 用的存儲(chǔ)器地址。若已知邏輯地址為1F00: 38A0H,則對(duì)應(yīng)的物 理地址=1FOOIIX 16+38A0II=228A0H。2.17已知存儲(chǔ)器物理地址為78A00H,計(jì)算出它所對(duì) 應(yīng)的邏輯地址。此結(jié)果惟一嗎?解:物理地址可以對(duì)應(yīng)于不同的邏輯地址。78A00II對(duì) 應(yīng)的邏輯地址可以是7000H: 8A00H, 7800H: OAOOH ,78A0H: 0000H等。結(jié)果不是惟一的。2.19若CS=8000IL則當(dāng)前代碼段可尋址的存儲(chǔ)空間 的范圍是多少?解(CS) =8000H時(shí),當(dāng)前代碼段可尋址的存儲(chǔ)

4、空間范 圍為 80000H-8FFFFH 023.2 設(shè)(DS)=6000H , (ES)=2000H , (SS)=1500H , (Si) =OOAOH, ( BX)=0800H , (BP)=1200H ,數(shù)據(jù)變量 VAR為0050H.少?請(qǐng)分別指岀下列各條指令源操作數(shù)的尋址方式?它的物理地址是多(1) MOV AX,BX MOV AX, V AR(5) MOV AL, B MOV DX,BP(2) MOV DL,80H MOV AX,VARBXSI(6) MOV DI, ES: BX(8) MOV BX , 20HBX解:(1)寄存器尋址。因源操作數(shù)是寄存器,故寄存器BX就是操作數(shù)的地

5、址(2)立即尋址。操作數(shù) 80H存放于代碼段中指令碼MOV之后。(3)直接尋址。)基址一變址一相對(duì)尋址.4 (.操作數(shù)的物理地址 =(DS) X 16 + (SI) + (BX) + VAR=60000H + 00A0H + 0800H + 0050H = 608F0H(5) 立即尋址(6) 寄存器間接尋址.操作數(shù)的物理地址=(ES) X 16+ (BX)=20000H + 0800H = 20800H(7) 寄存器間接尋址。操作數(shù)的物理地址 =(SS) X 16 + (BP)=15000H + 1200H= 16200H(8) 寄存器相對(duì)尋址.操作數(shù)的物理地址=(DS) X 16+ (BX)

6、 + 20H=60000H + 0800H + 20H= 60820H3.3 假設(shè)(DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H, 位移量 DATA=40H , (217A0H)=2300H , (217E0H)=0400H , (217E2H) =9000H試確定下列轉(zhuǎn)移指令的轉(zhuǎn)移地址(1) JMP BX(2) JMP WORD PTRBX(3) JMP DWORD PTRBX+DATA 解:轉(zhuǎn)移指令分為段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移, 根據(jù)其尋址方式的不同, 又有段內(nèi)的直接轉(zhuǎn)移和間 接轉(zhuǎn)移, 以及段間的直接轉(zhuǎn)移和間接轉(zhuǎn)移地址。 對(duì)直接轉(zhuǎn)移, 其轉(zhuǎn)移地址為

7、當(dāng)前指令的偏移地址 (即 IP 的內(nèi)容)加上位移量或由指令中直接得出;對(duì)間接轉(zhuǎn)移,轉(zhuǎn)移地址等于指令中寄存器的 內(nèi)容或由寄存器內(nèi)容所指向的存儲(chǔ)單元的內(nèi)容。=(CS) X I6 +0500H=02000H+0500H=02500H= (CS) X 16+ BX= (CS) X I6+(217A0H) =02000H+2300H=04300H =BX+DATA=(217E2H) X I6+(217E0H) =90000H+0400H=90400H LEA BX,5BX 的區(qū)別。(1) 段內(nèi)間接轉(zhuǎn)移。轉(zhuǎn)移的物理地址(2) 段內(nèi)間接轉(zhuǎn)移。轉(zhuǎn)移的物理地址(3) 段間間接轉(zhuǎn)移。轉(zhuǎn)移的物理地址IP=DS X

8、I6+BX+DATA=217EOCS=217E2H=9000H3.4 試說明指令 MOV BX,5BX 與指令解:前者是數(shù)據(jù)傳送類指令,表示將數(shù)據(jù)段中以 (BX+5) 為偏移地址的 1 6位數(shù)據(jù)送寄存器 BX.; 后者是取偏移地址指令,執(zhí)行的結(jié)果是 (BX ) = (BX) 5,即操作數(shù)的偏移地址為(BX)+5 。3.5 設(shè)堆棧指針 SP 的初值為 2300H , (AX) = 50ABH , (BX)=1234H。執(zhí)行指令 PUSH AX 后,(SP) =?,再執(zhí)行指令 PUSH BX 及 POP AX 之后,(SP)= ? (AX ) = ? (BX) =?解:堆棧指針 SP總是指向棧頂,

9、每執(zhí)行一次PUSH指令SP-2,執(zhí)行一次POP指令SP+2.所以,執(zhí)行 PUSH AX 指令后, (SP)=22FEH; 再執(zhí)行 PUSH BX 及 POP AX 后, (SP)=22FEH ,(AX)=(BX)=1234H3.6 指出下列指令的錯(cuò)誤:(1) MOV AH , CX(2) MOV 33H , AL(3) MOV AX, SIDI (4) MOV BX , SI(5) ADD BYTE PTRBP,256(6) MOV DATASI,ES:AX(7) JMP BYTE PTRBX (8) OUT 230H,AX(10) MUL 39H(9) MOV DS,BP解: (1)指令錯(cuò)。

10、兩操作數(shù)字長(zhǎng)不相等(2) 指令錯(cuò)。 MOV 指令不允許目標(biāo)操作數(shù)為立即數(shù)(3) 指令錯(cuò)。在間接尋址中不允許兩個(gè)間址寄存器同時(shí)為變址寄存器。(4) 指令錯(cuò)。 MOV 指令不允許兩個(gè)操作數(shù)同時(shí)為存儲(chǔ)器操作數(shù)。(5) 指令錯(cuò)。 ADD 指令要求兩操作數(shù)等字長(zhǎng)。(6) 指令錯(cuò)。源操作數(shù)形式錯(cuò),寄存器操作數(shù)不加段重設(shè)符。(7) 指令錯(cuò)。轉(zhuǎn)移地址的字長(zhǎng)至少應(yīng)是16位的。(8) 指令錯(cuò)。對(duì)輸人輸出指令,當(dāng)端口地址超出8 位二進(jìn)制數(shù)的表達(dá)范圍(即尋址的端口超出 256 個(gè))時(shí),必須采用間接尋址。(9) 指令正確。(10) 指令錯(cuò)。 MUL 指令不允許操作數(shù)為立即數(shù)。3.9 試判斷下列程序執(zhí)行后 ,BX 中的內(nèi)

11、容MOV CL, 3MOV BX,0B7HROL BX,1ROR BX,CL解:該程序段是首先將 BX 內(nèi)容不帶進(jìn)位循環(huán)左移 1 位,再循環(huán)右移 3 位。即相當(dāng)于將原 BX 內(nèi) 容不帶進(jìn)位循環(huán)右移 2 位,故結(jié)果為: (BX)=0C02DH3.11 分別指出以下兩個(gè)程序段的功能 :(1) (2)MOV CX,l0 CLDLEA SI,FIRSTLEA DI, 1200HLEA DI, SECOND MOV CX,0FOOHSTD XOR AX,AXREP MOVSBREP STOSW解: (1)該段程序的功能是:將數(shù)據(jù)段中FIRST 為最高地址的 10 個(gè)字節(jié)數(shù)據(jù)按減地址方向傳送到附加段 SE

12、COND 為最高地址的向前 10 個(gè)單元中。(2) 將附加段中偏移地址為 1200H 單元開始的 0FOOH 個(gè)字單元清 0 。3.16 寫出完成下述功能的程序段:(1) 從地址 DS: 0012H 中傳送一個(gè)數(shù)據(jù) 56H 到 AL 寄存器;( 2 )將 AL 中的內(nèi)容左移兩位(3) AL 的內(nèi)容與字節(jié)單元 DS:0013H 中的內(nèi)容相乘(4 )乘積存入字單元 DS:0014H 中MOVSI,OFFSET0012HMOVDI,OFFSET0014HMOVAL,SIMOVCL,2SALAL,CLMOVBL,0013HMULBLMOVDI,AX解:選看:3.7 已知(AL) =7BH, (BL)

13、=38H, 試問執(zhí)行指令 ADD AL, BL 后,AF、CF、OF、PF、SF 和 ZF 的值 各為多少?解: AF=1 ,CF=0,OF=1,PF=0,SF=l,ZF=03.10 按下列要求寫出相應(yīng)的指令或程序段。(1) 寫出兩條使 AX 內(nèi)容為 0 的指令。(2) 使 BL 寄存器中的高 4位和低 4位互換。(3) 屏蔽 CX 寄存器的 bll,b7 和 b3 位。測(cè)試DX中的b0和b8位是否為1(1) MOV AX,0XOR AX,AX;AX 寄存器自身相異或,可使其內(nèi)容清(2) MOV CL, 4ROL BL,CL;將 BL 內(nèi)容循環(huán)左移 4 位,可實(shí)現(xiàn)其高 4 位和低 4 位的互換

14、(3) AND CX,0F777H ;將 CX 寄存器中需屏蔽的位“與” 0。也可用“或”指令實(shí)現(xiàn)(4) AND DX,0101H ;將需側(cè)試的位“與” 1 ,其余“與” 0 屏蔽掉CMP DX,0101 H ;與 0101H 比較JZ ONE;若相等則表示 b0 和 b8 位同時(shí)為3.12 執(zhí)行以下兩條指令后,標(biāo)志寄存器 FLAGS 的六個(gè)狀態(tài)位各為什么狀態(tài)?MOV AX,84A0HADD AX,9460H解:執(zhí)行 ADD 指令后, 6 個(gè)狀態(tài)標(biāo)志位的狀態(tài)分別為:在兩個(gè)16位數(shù)進(jìn)行加法運(yùn)算時(shí),對(duì) CF、ZF、SF和OF會(huì)產(chǎn)生影響,但對(duì) PF和AF標(biāo)志位,只 有其低 8位的運(yùn)算影響它們的狀態(tài)。

15、 各標(biāo)志位的狀態(tài)分別為: AF=0, PF=1, CF=1, ZF=0, SF=0, OF=1 。3.14 已知 AX=8060H,DX=03F8H ,端口 PORT1 的地址是 48H ,內(nèi)容為 40H ;P ORT2 的地址是 84H, 內(nèi)容為 85H 。請(qǐng)指出下列指令執(zhí)行后的結(jié)果。(1) OUT DX, AL(2) IN AL,PORT1(3) OUT DX,AX(4) IN AX,48H(5) OUT PORT2,AX解:將60H輸岀到地址為 03F8H的端口中。(2) 從 PORT1 讀入一個(gè)字節(jié)數(shù)據(jù),執(zhí)行結(jié)果: (AL)=40H 。(3) 將 AX=8060H 輸岀到地址為 03F

16、8H 的端口中。(4) 由 48H 端口讀人 16位二進(jìn)制數(shù)。(5) 將 8060H 輸岀到地址為 84H 的端口中。4.1 請(qǐng)分別用 DB 、 DW 、 DD 偽指令寫岀在 DATA 開始的連續(xù) 8個(gè)單元中依次存放數(shù)據(jù) 11H 、 22H 、 33H 、 44H 、 55H 、 66H 、 77H 、 88H 的數(shù)據(jù)定義語句 .解:DB,DW,DD偽指令分別表示定義的數(shù)據(jù)為字節(jié)類型、字類型及雙字型.其定義形式為:DATA DB 11H,22H,33H,44H,55H,66H,77H,88HDATA DW 2211H,4433H,6655H,8877HDATA DD 44332211H,887

17、76655H4.2 若程序的數(shù)據(jù)段定義如下 ,寫岀各指令語句獨(dú)立執(zhí)行后的結(jié)果:DSEG SEGMENTDATA1 DB 10H,20H,30HDATA2 DW 10 DUP(?)STRING DB 123DSEG ENDS(1) MOV AL,DATA1(2) MOV BX,OFFSET DATA2(3) LEA SI,STRINGADD DI,SI 解:1.取變量 DATA1 的值. 指令執(zhí)行后 ,(AL)=10H.2. 變量 DATA2 的偏移地址 . 指令執(zhí)行后 ,(BX)=0003H.3. 先取變量STRING的偏移地址送寄存器 SI,之后送SI的內(nèi)容與DI的內(nèi)容相加并將結(jié)果送DI.指

18、令執(zhí)行后 ,(SI)=0017H;(DI)=(DI)+0017H.4.6 假設(shè)數(shù)據(jù)項(xiàng)定義如下:DATA1 DB HELLO !GOOD MORNING !DATA2 DB 20 DUP (?) 用串操作指令編寫程序段,使其分別完成以下功能:(1)從左到右將 DATA1 中的字符串傳送到 DATA2 中。(2)傳送完后,比較 DATA1 和 DATA2 中的內(nèi)容是否相同。(3)把 DATA1 中的第 3 和第 4 個(gè)字節(jié)裝入 AX 。(4)將 AX 的內(nèi)容存入 DATA2+5 開始的字節(jié)單元中。解:(1)MOV AX ,SEG DATA1MOV DS ,AXMOV AX , SEG DATA2M

19、OV ES , AXLEA SI , DATA1LEA DI ,DATA2MOV CX , 20CLDREP MOVSB(2)LEA SI , DATA1LEA DI ,DATA2MOV CX , 20CLDREPE CMPSB。(3)LEA SI , DATA1ADD SI , 2LODSW(4)LEA DI ,DATA2ADD DI , 5STOSW4.8 編寫程序段,將 STRING1 中的最后 20 個(gè)字符移到 STRING2 中(順序不變) 解:首先確定 STRING1 中字符串的長(zhǎng)度,因?yàn)樽址亩x要求以$符號(hào)結(jié)尾,可通過檢測(cè) $符確定出字符串的長(zhǎng)度,設(shè)串長(zhǎng)度為 COUNT ,則

20、程序如下:LEA SI ,STRING1LEA DI ,STRING2ADD SI ,COUNT -20MOV CX , 20CLDREP MOVSB4.10試編寫程序,比較 AX , BX , CX中帶符號(hào)數(shù)的大小,并將最大的數(shù)放在AX中解:比較帶符號(hào)數(shù)的大小可使用符號(hào)數(shù)比較指令JG等。CMP AX,BXJG NEXT1XCHG AX,BXNEXT1 : CMP AX,CXJG STOMOV AX,CXSTO: HLT4.14給岀下列等值語句ALPHAEQU100BETAEQU25GRAMMEQU4試求下列表達(dá)式的值(1) ALPHA*100+BETA10025(2) (ALPHA+4)*B

21、ETA -22598A MOD B=A -(ADivB)*B(3) )(BETA/3)MOD53.3333334.15圖示一下數(shù)據(jù)段在存儲(chǔ)器中的存放形式DATASEGMENTDATA1DB10H, 34H, 07H, 09HDATA2DW 2 DUP(42H)DATA3DB HELLO!DATA4EQU 12DATA5DD 0ABCDHDATAENDS答: .DATA1 低 10H地34H址 07H09HTA2 DA42H00H42H00H TA3O TA4 D12 TA5DA H E L LDCD 高 AB 地 00H 址 00H4.16閱讀下面的程序段,試說明它實(shí)現(xiàn)的功能SEGMENTDA

22、TA ABCDEFG DATA1 DBENDSTA DASEGMENTCODETAASSUME DA CS: CODE,DS:TA MOV AX, DAAAA:DS, AXMOVTA1 DA BX, OFFSET MOVCX,7 MOVNTXT:AH,2 MOVAL,BXMOVAL, DLXCHGBX INC21HINTNEXTLOOPAH, 4CH MOV21H INTENDSCODEAAAAEND5.6試?yán)萌刂纷g碼將 6264芯片接到8088系統(tǒng)總線上,使其所占地址范圍為 32000H33FFFH解:將地址范圍展開成二進(jìn)制形式如下圖所示。0011 0010 0000 0000 0000

23、0011 0011 1111 1111 11116264芯片的容量為 8X 8KB,需要13根地址線 A0A12。而剩下的高 7位地址應(yīng)參加該芯片的 地址譯碼。電路如圖所示:5.11甚什么是字?jǐn)U展?什么是位擴(kuò)展?用戶自己購買內(nèi)存條進(jìn)行內(nèi)存擴(kuò)充,是在進(jìn)行何種存儲(chǔ)器擴(kuò)展?解:(1)當(dāng)存儲(chǔ)芯片的容量小于所需內(nèi)存容量時(shí),需要用多個(gè)芯片構(gòu)成滿足容量要求的存儲(chǔ)器, 這就是字?jǐn)U展。(2) 當(dāng)存儲(chǔ)芯片每個(gè)單元的字長(zhǎng)小于所需內(nèi)存單元字長(zhǎng)時(shí),需要用多個(gè)芯片構(gòu)成滿足字長(zhǎng)要求 的存儲(chǔ)模塊,這就是位擴(kuò)展。)用戶在市場(chǎng)上購買內(nèi)存條進(jìn)行內(nèi)存擴(kuò)充,所做的是字?jǐn)U展的工作。3 (.5.13某8088系統(tǒng)用2764 ROM 芯片和6264 SRAM 芯片構(gòu)成16KB的內(nèi)存。其中, ROM的地址 范圍為OFEOOOHOFFFFFH , RAM 的地址范圍為 OFOOOOHOF1FFFH。試?yán)?74LS138 譯碼, 畫岀存儲(chǔ)器與 CPU的連接圖,并標(biāo)岀總線信號(hào)名稱。解:連接如下圖所示。6-9中斷向量表的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論