電子科大教材-第三章作業(yè)解答_第1頁
電子科大教材-第三章作業(yè)解答_第2頁
電子科大教材-第三章作業(yè)解答_第3頁
電子科大教材-第三章作業(yè)解答_第4頁
電子科大教材-第三章作業(yè)解答_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1說明尋址方式(1)ADD AX,0A51H源:立即數(shù)尋址目的:寄存器尋址(2)MOV BL,DATA1源:直接尋址(變量作為符號位移量)EA=DATA1目的:寄存器尋址(3)MOV DS,AX源:寄存器尋址目的:寄存器尋址(4)AND AL,VAR1+2源:直接尋址(表達(dá)式的計算在匯編階段完成)EA=VAR1+2目的:寄存器尋址(5)TEST SI,CL源:寄存器尋址目的:寄存器間接尋址EA=(SI)(6)OR ARRYBX,-1源:立即數(shù)尋址目的:基址尋址(位移量:ARRY,基址:(BX)EA=ARRY+(BX)(7)SUB DS:01FEH,DX源:寄存器尋址目

2、的:直接尋址(使用數(shù)值位移量作為偏移量)EA=01FEH(8)ADC BPDI,BH源:寄存器尋址目的:基址變址尋址(基址:(BP),變址:(DI),位移量:0,0位移量在語法上省略,但在機(jī)器指令中是存在的) EA=(BP)+(DI)+0(9)AND CX,-19BXSI源:基址變址尋址注意位移量部分,這里給了一個負(fù)數(shù),語法上是允許的,匯編時位移量確定為-19的補(bǔ)碼,但是實(shí)行尋址時這個補(bǔ)碼被解釋為無符號數(shù),應(yīng)該是0EDH。這條指令中給出負(fù)數(shù)位移量語法上可以通過,但是不符合常規(guī)用法。EA的三個分量在做加法時可以解釋為補(bǔ)碼(一般不這樣解釋),但是最終形成的EA一定是看作無符號數(shù)。EA=0FFEDH

3、+(BX)+(SI) ;(注意,語法上使用負(fù)數(shù)做位移量,做加法時要使用它的16位補(bǔ)碼,不是8位)目的:寄存器尋址(10)PUSH ES源:寄存器尋址目的:目的操作數(shù)隱含使用(SP)指向的棧頂字單元(內(nèi)存中),在機(jī)器指令中,其尋址由OPCODE決定,不由尋址方式字段決定,故不需要說明它的尋址方式。由OPCODE決定的尋址統(tǒng)稱為隱含尋址。(11)CLC源:無源操作數(shù)目的:隱含使用FR的CF標(biāo)志(寄存器中),由OPCODE決定,為隱含尋址。3求執(zhí)行兩條指令后,各標(biāo)志位的狀態(tài)MOV AL,91;執(zhí)行后,(AL)=91=5BHADD AL,0BAH加法執(zhí)行如下:(十六進(jìn)制加法,如果不習(xí)慣,也可采用先前的

4、二進(jìn)制加法)0BAH+05BH115HCF:顯然最高位產(chǎn)生了進(jìn)位(兩個加數(shù)都是兩位的,和卻有三位),CF=1AF:低四位向高四位產(chǎn)生了進(jìn)位(A+B產(chǎn)生進(jìn)位),AF=1ZF:運(yùn)算結(jié)果不為0,ZF=0SF:運(yùn)算結(jié)果最高位為0(高四位:1H=0001B),SF=0OF:正+正=正(兩個加數(shù)與和的符號位都為0),沒有溢出,OF=04求程序段分別的運(yùn)行結(jié)果(1)MOV CL,20HBXSIEA=20H+(BX)+(SI)=20H+0024H+0012H=0056H默認(rèn)使用段寄存器DS,段基址:091D0H物理地址:段基址+EA=091D0H+0056H=09226H(09226H)=00F6H,這是以字

5、為單位的內(nèi)容描述,變成字節(jié):(09226H)=0F6H,(09227H)=00H指令執(zhí)行后,(CL)=(09226H)=0F6H(2)MOV BPDI,CXEA=0+(BP)+(DI)=0024H+0032H=0056H默認(rèn)使用段寄存器SS,段基址:1E4A0H物理地址:段基址+EA=1E4A0H+0056H=1E4F6H指令執(zhí)行完后,(1E4F6H)=(CX)=5678H(3)共兩條指令,按順序逐條分析1)LEA BX,20HBXSIEA=20H+(BX)+(SI)=20H+0024H+0012H=0056H指令執(zhí)行完后,(BX)=EA =0056H2)MOV AX,2BX注意,此時BX的內(nèi)

6、容已變,不要再參照初始值,應(yīng)該始終參照上一條指令的結(jié)果EA=2H+(BX)=2H+0056H=0058H默認(rèn)使用段寄存器DS,段基址為091D0H物理地址=段基址+EA=091D0H+0058H=09228H指令執(zhí)行完后,(AX)=(09228H)=1E40H(4)1)LDS SI,BXDIEA=0+(BX)+(DI)=0024H+0032H=0056H默認(rèn)使用段寄存器DS,段基址為091D0H物理地址為:段基址+EA=091D0H+0056H=09226H指令執(zhí)行完后,(SI)=(09226H)=00F6H (DS)=(09228H)=1E40H2)MOV SI,BX注意,此時SI、DS的內(nèi)

7、容已變,不要再參照初始值,應(yīng)該始終參照上一條指令的結(jié)果EA=(SI)=00F6H默認(rèn)使用段寄存器DS,段基址為1E400H物理地址為:1E400H+00F6H=1E4F6H指令執(zhí)行完后,(1E4F6H)=(BX)=0024H(5)1)XCHG CX,32HBXEA=32H+(BX)=32H+0024H=0056H默認(rèn)使用段寄存器DS,段基址為091D0H物理地址=091D0H+0056H=09226H執(zhí)行指令后,(CX)=00F6H (09226H)=5678H2)XCHG 20HBXSI,AXEA=20H+(BX)+(SI)=20H+0024H+0012H=0056H默認(rèn)使用段寄存器DS,段

8、基址為091D0H物理地址=091D0H+0056H=09226H注意,(09226H)經(jīng)過上條指令已經(jīng)發(fā)生變化指令執(zhí)行完后,(09226H)=1234H (AX)=5678H5使用4種不同尋址方式對同一個物理地址進(jìn)行訪問1)MOV AX,BP寄存器間接尋址,默認(rèn)使用段寄存器SS2)MOV AX,100HDI MOV AX,220HSI變址尋址,默認(rèn)使用段寄存器DS3)MOV AX,240HBX基址尋址,默認(rèn)使用段寄存器DS4)MOV AX,2C0H MOV AX,SS:470H直接尋址,第一種使用DS段寄存器6給了一定初始寄存器條件,問執(zhí)行一段程序后,幾個寄存器中應(yīng)該是什么內(nèi)容遇到這種題目,

9、應(yīng)當(dāng)把所有寄存器列一個表格,每一條指令分析完后,填上新的一行寄存器內(nèi)容,這樣才不容易出錯,逐條指令分析,每條指令都使用上條指令執(zhí)行完后新的寄存器內(nèi)容。下面我們按照這種思路來分析這段程序。(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464H(考試時可以用自己的方式簡寫寄存器狀態(tài),提高速度)1)LEA SI,SI分析:EA=(SI)=124H指令執(zhí)行完后,(SI)=(SI)=124H(注意LEA指令的功能,不要搞成MOV指令了)引起的寄存器內(nèi)容變化:無(僅列出當(dāng)前變化了的,能提高解題速度)2)MOV AX,SI分析:EA=(SI)=124H默認(rèn)使用DS

10、物理地址=12340H+124H=12464H執(zhí)行后,寄存器變化為:(AX)=(12464H)=30ABH3)MOV SI+22H,1200H分析:SI+22H=22HSIEA=22H+(SI)=22H+124H=146H默認(rèn)使用DS物理地址=12340H+146H=12486H執(zhí)行后,寄存器沒有變化,存儲單元變化為:(12486H)=1200H4)LDS SI,SI+20H分析:SI+20H=20HSIEA=20H+(SI)=20H+124H=144H默認(rèn)使用DS物理地址=12340H+144H=12484H當(dāng)前:(12484H)=464H(12486H)=1200H執(zhí)行后,變化:(SI)=

11、(12484H)=464H,(DS)=(12486H)=1200H5)ADD AX,SI分析:EA=(SI)=464H默認(rèn)使用DS物理地址=12000H+464H=12464H執(zhí)行后,變化:(AX)=(AX)+(12464H)=30ABH+30ABH=6156H7假定了一些寄存器初始內(nèi)容,問執(zhí)行一段程序后某些寄存器和標(biāo)志位的內(nèi)容。初始:(AX)=0A5C6H,(CX)=0F03H1)STC執(zhí)行后,CF=12)RCL AX,CL當(dāng)前(CL)=03H,(AX)=00110B,CF=1執(zhí)行后:(AX)=10110B=2E36H,CF=1,3)AND AH,CH當(dāng)前(AH)=02EH=B(CH)= 0

12、FH =B功能為提取低4位,執(zhí)行后,AH=0EH,CF=0(強(qiáng)制清0)4)RCR AX,CL當(dāng)前(CL)=03H,CF=0,(AX)=0E36H=10110B,執(zhí)行后:CF=1,(AX)=00110B=81C6H8初始:(AX)=0FC77H,(CX)=504H1)CLC執(zhí)行后,CF=02)SAR AX,CL當(dāng)前(CL)=04H,(AX)=0FC77H=10111B算術(shù)右移4位(記得最高位補(bǔ)充符號),執(zhí)行后(AX)=00111B=0FFC7H,CF=0。3)XCHG CH,CL當(dāng)前(CH)=05H,(CL)=04H執(zhí)行后,(CH)=04H,(CL)=05H4)SHL AX,CL當(dāng)前(CL)=0

13、5H,(AX)=0FFC7H=00111B邏輯左移5位,執(zhí)行后(AX)=00000B=0F8E0H,CF=110初始:(AX)=0FFFFHINC AX執(zhí)行后,(AX)=0000HNEG AX執(zhí)行后,(AX)=0000HDEC AX執(zhí)行后,(AX)=0FFFFHNEG AX執(zhí)行后,(AX)=0001H11初始:(BX)=12FFH1)MOV CL,8執(zhí)行后,(CL)=82)ROL BX,CL循環(huán)左移8位,相當(dāng)于低8位和高8位交換,CF中保存高8位的最低位執(zhí)行后,(BX)=0FF12H,CF=03)AND BX,0FFH提取低8位,執(zhí)行后,(BX)=0012H,CF=04)CMP BX,0FFH

14、執(zhí)行后,(BX)不變,(BX)=0012H因?yàn)樽鳛闊o符號數(shù),0012H<00FFH,所以一定不夠減,最高位產(chǎn)生借位,CF=1。被減數(shù)不等于減數(shù),運(yùn)算結(jié)果一定不為0,所以ZF=0。13初始:(AX)=0FF60H1)STC執(zhí)行后,CF=12)MOV DX,96執(zhí)行后,(DX)= 96 =0060H3)XOR DH,0FFH(DH)每位都被變反,執(zhí)行后,(DH)=0FFH,特別注意CF=0(邏輯運(yùn)算把CF強(qiáng)行清0)4)SBB AX,DX當(dāng)前(AX)=0FF60H,(DX)=0FF60H,CF=0減法完成后(AX)=0,最高位沒有產(chǎn)生借位,CF=015編寫程序片段(1)說明:SF標(biāo)志在FR的第7位LAHFOR AH,B;使用置位模板SAHF(2)說明:高低4位互換,即循環(huán)移位4位。當(dāng)然可以采用其它方法。MOV CL,4ROL AL,CL(3)注意:要求不使用ADD和ADC,那么可以考慮使用減法和求相反數(shù)結(jié)合MOV BX,BNEG BXPUSH APOP CSUB C,BX(4)說明:32位無符號數(shù)

溫馨提示

  • 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

提交評論