第5章作業(yè)答案_第1頁
第5章作業(yè)答案_第2頁
第5章作業(yè)答案_第3頁
第5章作業(yè)答案_第4頁
第5章作業(yè)答案_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上習題51試說明以下指令中各操作數(shù)的尋址方式,如果是存儲器尋址,請給出其EA計算公式,并說明所使用的段寄存器。(1)MOV AL,08H源操作數(shù):立即數(shù)尋址目的操作數(shù):寄存器尋址(2)MOV 0120H,BL源操作數(shù):寄存器尋址目的操作數(shù):直接尋址,EA=0120H,使用DS段寄存器(3)ADD BX,AL源操作數(shù):寄存器尋址目的操作數(shù):寄存器間接尋址,EA=(BX),使用DS段寄存器(4)PUSH SI0200H源操作數(shù):變址尋址,EA=(SI)+0200H,使用DS段寄存器目的操作數(shù):隱含尋址(指令中未直接體現(xiàn))(5)SUB AX,BP源操作數(shù):寄存器間接尋址,EA

2、=(BP),使用SS段寄存器目的操作數(shù):寄存器尋址(6)AND VAR1+4,DL源操作數(shù):寄存器尋址目的操作數(shù):直接尋址,EA=VAR1+4,使用DS段寄存器(7)PUSHF源操作數(shù)、目的操作數(shù)均為隱含尋址(8)MOV ES:BX0100H,AL源操作數(shù):寄存器尋址目的操作數(shù):基址尋址,EA=(BX)+0100H,使用ES段寄存器(9)ADC BYTE PTR BPSI0210H,45H源操作數(shù):立即數(shù)尋址目的操作數(shù):基址變址尋址,EA=(BP)+(SI)+0210H,使用SS段寄存器(10)OR ARRYBXDI,CL源操作數(shù):寄存器尋址目的操作數(shù):基址變址尋址,EA=(BX)+(DI)+

3、ARRY,使用DS段寄存器2試分析下列匯編指令是否存在語法錯誤,如果有語法錯誤存在,請說明是怎樣的錯誤。(1)PUSH 8243H錯誤,單操作數(shù)指令不能使用立即數(shù)(2)POP AL錯誤,進棧、出棧指令的操作數(shù)應為16位(3)MOV AL,6543H錯誤,源、目的操作數(shù)類型不匹配(4)ADD 0100H,64H錯誤,目的操作數(shù)應使用PTR運算符指出類型,否則具有二義性正確的寫法:ADD BYTE PTR 0100H,64H,(或使用WORD PTR)(5)ADC VAR1,VAR2錯誤,8086指令系統(tǒng)的雙操作數(shù)指令中,必須有一個是寄存器,不能兩個操作數(shù)同為內(nèi)存單元(6)MOV DS,ES錯誤,

4、段寄存器間不能使用MOV指令直接傳遞數(shù)據(jù),必須通過通用寄存器作為中轉(zhuǎn)(7)MOV DS,0620H錯誤,使用MOV指令向段寄存器傳遞數(shù)據(jù)時,不能使用立即數(shù)(8)LEA BX,AX錯誤,LEA指令的源操作數(shù)必須為內(nèi)存單元(9)DEC AL,AH錯誤,DEC指令為單操作數(shù)指令(10)SHR BL,3錯誤,當移位次數(shù)大于1時,在移位指令中特定使用CL寄存器給出移位次數(shù)正確的寫法:MOV CL, 3 SHR BL, CL3試說明分別執(zhí)行下列各組指令后,CF、OF、AF、ZF、SF、PF這六個狀態(tài)標志分別是怎樣的取值。(1)MOV AL,08H ADD AL,0F9HCF=1; OF=0; AF=1;

5、ZF=0; SF=0; PF=0(2)MOV AL,0E1H ADD AL,0F4HCF=1; OF=0; AF=0; ZF=0; SF=1; PF=0(3)MOV AL,01H SUB AL,02HCF=1; OF=0; AF=1; ZF=0; SF=1; PF=1(4)MOV AL,02H INC ALCF維持MOV指令前的取值 (INC指令不影響CF);OF=0; AF=0; ZF=0; SF=0; PF=1(5)MOV AL,01H AND AL,02HCF=OF=0; AF不確定; ZF=1; SF=0; PF=14按要求分析下面程序片段的執(zhí)行結(jié)果。MOV AL,0C2HMOV AH

6、,0E4HADD AL,AH執(zhí)行該程序片段后,(AL)=?,(AH)=?,如果將ADD指令的兩個操作數(shù)解釋為無符號數(shù),運算有沒有溢出?為什么?如果將ADD指令的兩個操作數(shù)解釋為補碼,運算有沒有溢出?為什么?答:執(zhí)行該程序片段后,(AL)=0A6H,(AH)=0E4H,如果操作數(shù)解釋為無符號數(shù),運算溢出,因為加法運算后最高位產(chǎn)生了進位,CF=1,需使用9個二進制位才能表達完整運算結(jié)果;如果將操作數(shù)解釋為補碼,則運算沒有溢出,因為從操作數(shù)與運算結(jié)果的符號位觀察,兩個操作數(shù)均為負數(shù)補碼,相加后所得結(jié)果仍然為負數(shù)補碼,符號位正確,表明加法結(jié)果未超出補碼表示范圍(這里是8位補碼的表示范圍),加法運算后O

7、F=0。5按要求分析下面程序片段的執(zhí)行結(jié)果。MOV AL,98H MOV BL,42HXCHG AL,BLSUB AL,BL執(zhí)行該程序片段后,(AL)=?,(BL)=?,如果將SUB指令的兩個操作數(shù)解釋為無符號數(shù),運算有沒有溢出?為什么?如果將SUB指令的兩個操作數(shù)解釋為補碼,運算有沒有溢出?為什么?如果將SUB指令的兩個操作數(shù)解釋為補碼,其減法運算對應的十進制真值表達式應如何書寫?答:執(zhí)行該程序片段后,(AL)=0AAH,(BL)=98H,如果將操作數(shù)解釋為無符號數(shù),則運算溢出,從操作數(shù)判斷,此運算屬于被減數(shù)小于減數(shù)的情況,這在無符號數(shù)運算中是不允許的(如果當前操作數(shù)僅為長數(shù)據(jù)的一部分,則另

8、當別論),減法運算后最高位必然產(chǎn)生借位,CF=1;如果操作數(shù)解釋為補碼,運算也溢出,從操作數(shù)判斷,此運算屬于“正-負”類型,等價于“正+正”類型,正確的運算結(jié)果應為正數(shù)或零的補碼,而運算結(jié)果的符號位卻為“負”,表明運算結(jié)果超出補碼表示范圍(這里為8位補碼表示范圍),減法運算后OF=1。SUB指令所使用的被減數(shù)補碼為42H=B,減數(shù)補碼為98H=B,由于被減數(shù)為正數(shù)補碼,它等于真值本身,而減數(shù)補碼為負數(shù)補碼,將其取反加1后,添上負號,得到其二進制真值為 -B。將被減數(shù)、減數(shù)的二進制真值轉(zhuǎn)換為十進制后,得到真值運算表達式:66 -(-104)=170,很明顯運算結(jié)果超出8位補碼的最大值+127。6

9、按要求分析下面程序片段的執(zhí)行結(jié)果。STCMOV AL,03HAND AL,02HADC AL,00H執(zhí)行該程序片段后,(AL)=?答:(AL)=02H,此題應注意AND指令會強置CF為0。7假設(DS)=1000H,(SS)=2000H,字內(nèi)存單元(10200H)=0870H,(10202H)=2000H,(20870H)=0203H,(20872H)=0405H,括號內(nèi)所給為內(nèi)存單元物理地址,括號表示該地址所指示單元中保存的數(shù)據(jù),分別執(zhí)行下列程序片段后,按要求分析各程序片段的執(zhí)行結(jié)果。(1)MOV AL,0200H執(zhí)行該程序片段后,(AL)=?答:源操作數(shù)地址為(DS)*16+0200H=1

10、0000H+0200H=10200H, 因此執(zhí)行該程序片段后,(AL)=70H (逆序存放,低地址對應低數(shù)據(jù)位)(2)MOV BP,0871H MOV BL,BP執(zhí)行該程序片段后,(BL)=?答:第二條指令的源操作數(shù)地址為(SS)*16+(BP)=20871H,執(zhí)行該程序片段后,(BL)=02H (逆序存放,高地址對應高數(shù)據(jù)位)(3)LEA SI,0200H執(zhí)行該程序片段后,(SI)=?答:LEA指令將源操作數(shù)的EA傳送到目的操作數(shù)保存,(SI)=0200H(4)MOV SI,0200H LEA SI,SI執(zhí)行該程序片段后,(SI)=?答:MOV指令中源操作數(shù)地址為(DS)*16+0200H=

11、10200H,執(zhí)行后(SI)=0870H,第二條指令源操作數(shù)的EA直接為(SI)=0870H,執(zhí)行后仍有(SI)=0870H。(5)LDS BX,0200H MOV AL,BX0002H執(zhí)行該程序片段后,(AL)=?答:LDS指令中源操作數(shù)地址為(DS)*16+0200H=10200H,將(10200H)字單元內(nèi)容傳遞到BX保存,將(10202H)字單元內(nèi)容傳遞到DS保存,執(zhí)行后(BX)=0870H,(DS)=2000H;MOV指令中源操作數(shù)地址為(DS)*16+(BX)+0002H=20872H,執(zhí)行后(AL)=05H。8按要求分析下面程序片段的執(zhí)行結(jié)果。MOV AX,651CHSHL AL

12、,1RCL AH,1執(zhí)行該程序片段后,(AX)=?,該程序片段的功能是什么?如果將(AX)解釋為無符號數(shù),那么運算是否溢出?為什么?如果將(AX)解釋為補碼,運算是否溢出?為什么?SHL與SAL指令間有什么關聯(lián)和區(qū)別?答:執(zhí)行該程序片段后,(AX)=0CA38H,該程序片段的功能為將AX中的16位編碼左移1位,等價于乘以2(也可理解為自加一次)。如果將(AX)解釋為無符號數(shù),那么運算沒有溢出,因為最后一次移位操作后,最高移出位為0,即CF=0(自加完成后最高位無進位);如果將(AX)解釋為補碼,運算溢出,因為移位前后(AX)的最高位發(fā)生了變化(由0變?yōu)?),符號位在運算中丟失,可以理解為自加運

13、算結(jié)果超出了16位補碼表示范圍。SHL與SAL指令本質(zhì)上對應同一條機器指令,在功能上并無區(qū)別,因為無符號數(shù)與補碼的左移操作是完全相同的,但為了指令系統(tǒng)設計的規(guī)整性,在匯編指令中將它們區(qū)分開,SHL針對無符號數(shù)左移,SAL針對補碼左移。9按要求分析下面程序片段的執(zhí)行結(jié)果。MOV AL,35HAND AL,0FH執(zhí)行該程序片段后,(AL)=?CF、OF、AF、ZF、SF、PF標志取值是什么?該程序片段的功能是什么?答:執(zhí)行該程序片段后,(AL)=05H,CF=0;OF=0;AF不確定;ZF=0;SF=0;PF=1;該程序片段的功能是將(AL)中的低4位數(shù)據(jù)分離出來,屏蔽高4位。10假設一個48位的

14、補碼按照由低位到高位的順序保存在字類型的內(nèi)存單元VA1、VA1+2、VA1+4中,試按下列要求完成程序片段設計。(紅字部分請在教材中糾正)(1)設計程序片段,實現(xiàn)將該48位補碼除以4的功能,運算結(jié)果仍然保存在原內(nèi)存單元中。解:SAR VA1+4, 1RCR VA1+2, 1RCR VA1, 1SAR VA1+4, 1RCR VA1+2, 1RCR VA1, 1(2)設計程序片段,求該48位補碼的相反數(shù)補碼,運算結(jié)果仍然保存在原內(nèi)存單元中。解:NOT VA1NOT VA1+2NOT VA1+4ADD VA1, 1ADC VA1+2, 0ADC VA1+4, 011試說明如何使用CMP指令提供的標

15、志位判斷兩個補碼操作數(shù)大小關系的原理。答:請參考本章關于比較指令(CMP)中的詳細介紹加以說明。12假設(SP)=0060H,執(zhí)行兩次PUSH指令后,(SP)=?假設(SP)=0038H,執(zhí)行三次POP指令后,(SP)=?答:執(zhí)行兩次PUSH指令后,(SP)= 005CH;執(zhí)行三次POP指令后(SP)=0038H+0002H*3=0038H+0006H=003EH13按要求分析下面程序片段的執(zhí)行結(jié)果。MOV AL,01HNEG ALINC AL執(zhí)行該程序片段后(AL)=?,CF、OF標志的狀態(tài)是什么?答:執(zhí)行該程序片段后(AL)=0,CF=1,注意,這是受NEG指令影響的結(jié)果,INC指令不影響

16、CF標志;OF=0,加法運算并無溢出,因為0FFH為-1的補碼,加1后等于0是正確的。14按要求分析下面程序片段的執(zhí)行結(jié)果。MOV BL,51HAND BL,0FEHXOR BL,50HDEC BL執(zhí)行該程序片段后(BL)=?,CF、OF標志的狀態(tài)是什么?答:執(zhí)行該程序片段后(BL)=0FFH,CF=0,注意,這是受XOR指令的影響,XOR指令將CF強置為0,而DEC指令不影響CF;OF=0,此標志是受DEC指令影響的結(jié)果。此題中應注意,邏輯運算指令會將CF、OF強置為0,而DEC指令不影響CF標志。15按照各小題的要求分別設計程序片段。(因存在多種設計方式,程序設計題目的答案僅作為參考)(1)將AL寄存器的高4位與低4位交

溫馨提示

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

評論

0/150

提交評論