計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)_第1頁(yè)
計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)_第2頁(yè)
計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)_第3頁(yè)
計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)-CAL-FENGHAI-(2020YEAR-YICAI)INGBIAN計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)3、對(duì)于以下AT&T格式匯編指令,根據(jù)操作數(shù)的長(zhǎng)度確定對(duì)應(yīng)指令助記符中的 長(zhǎng)度后綴,并說(shuō)明每個(gè)操作數(shù)的尋址方式。(1)mov 8(%ebp, %ebx, 4), %ax(2)mov %a, 12(%ebp)(3)add (, %ebx,4)/ %ebx< 4) or (%ebx), %dh(5)push $0xF8< 6) mov $OxFFFO, %eax(7)test %cx, %cx(8)lea 8(%ebx/ %esi), %eax答:如下表所示:

2、題目編號(hào)長(zhǎng)度后綴源操作數(shù)目的操作數(shù)(1)W基址+比例變址+位移寄存器(2)b寄存器基址+位移(3)1比例變址寄存器(4)b基址寄存器(5)1立即數(shù)棧(6)1立即數(shù)寄存器(7)w寄存器寄存器(8)1基址亠變址+位移寄存器4.使用匯編器處理以下各行AT&T格式代碼時(shí)都會(huì)產(chǎn)生錯(cuò)誤,請(qǐng)說(shuō)明每一行 存在什么錯(cuò)誤。< 1) movl OxFF, (%eax)(3) addl %ecx, $OxFO(5) addb $0xF8, (%dl)(7) andl %esi, %esx(2) movb %ax, 12(%ebp)(4) orw $OxFFFFO, (%ebx)(6) movl %bx,

3、 %eax(8) movw 8(%ebp, 4), %ax答:(1)書寫錯(cuò)誤。因?yàn)樵床僮鲾?shù)是立即數(shù)OxFF,所以需要在前面加上$(2)由于源操作數(shù)(ax)是16位,而長(zhǎng)度后綴是字節(jié)h,所以不一致,應(yīng) 改為4 movwJ(3)目的操作數(shù)不能是立即數(shù)尋址(4)操作數(shù)位數(shù)超過(guò)16位,而長(zhǎng)度后綴為16位的應(yīng)改為4orr(5)不能用8位寄存器作為口的操作數(shù)地址所在寄存器(6)源操作數(shù)寄存器與LI的操作數(shù)寄存器長(zhǎng)度不一致(7)不存在ESX寄存器(8)源操作數(shù)地址中缺少變址寄存器7.假設(shè)變量x和y分別存放在寄存器EAX和ECX中,請(qǐng)給出以下每條指令執(zhí) 行后寄存器EDX中的結(jié)果。(1) leal (%eax)

4、, %edx(2) leal 4(%eax, %ecx)z %edx(3) leal (%eax, %ecx, 8), %edx(4) leal OxC(%ecx, %eax, 2), %edx(5) leal (, %eax, 4), %edx< 6) leal (%eax, %ecx), %edx答:(1) Redx=x把eax的值放到edx中去(2) Redx=x+y+4把 eax+ecx+4 的值放到 edx 中去< 3) Redx=x+8*y把 eax+8*ecx 的值放到 edx 中去(4) Redx=y+2*x+12把 ecx+2*eax+12 的值放到 edx 中去

5、< 5) Redx=4*x 把 4*eax 的值放到 edx 中去(6) Redx=x+y 把 eax+ecx 的值放到 edx 中去8假設(shè)以下地址以及寄存器中存放的機(jī)器數(shù)如下表所示地址機(jī)器數(shù)寄存器機(jī)器數(shù)0x8049300OxfffffffOEAX0x80493000x8049400OxEBX0x1000x80493840x80f7ff00ECX0x100x80493800x908fl2a8EDX0x80分別說(shuō)明執(zhí)行以下指令或寄存中的內(nèi)容交發(fā)生改變改變后的內(nèi)容是什么條件標(biāo) 志OF、SF、ZF和CF會(huì)發(fā)生什么改變。指令功能為:RedxRedx+MReax=0x00000080+M0x804

6、9300,寄存器EDX中內(nèi)容改變。改變后的內(nèi)容為以下運(yùn)算的結(jié)果:00000080H+FFFFFFF0H0000 0000 0000 0000 0000 0000 1000 0000+ 1111 1111 1111 1111 1111 1111 1111 00001 0000 0000 0000 0000 0000 0000 0111 0000因此,EDX中的內(nèi)容改變?yōu)?x00000070o根據(jù)表可知,加法指令會(huì)影響OF、SF、ZF 和 CF 標(biāo)志。OF=0, ZF=O, SF=O, CF=lo(2)指令功能為:Recx -Recx-MReax+Rebx=0x00000010+M0x804940

7、0,寄存器 ECX 中內(nèi)容改變。 改變后的內(nèi)容為以下運(yùn)算的結(jié)果:00000010H-Ho0000 0000 0000 0000 0000 0000 0001 0000+ 0111 1111 1111 1111 1111 1111 1111 10000 1000 0000 0000 0000 0000 0000 0000 1000根據(jù)表可知,減法指令會(huì)影響OF、SF、ZF和CF標(biāo)志。OF=1, ZF=O, SF=1,CF=1 0=lo(3) 指令功能為:RtbxJ-Rfbx or MReax+Recx*8+4,寄存器 BX 中內(nèi)容改 變。改變后的內(nèi)容為以下運(yùn)算的結(jié)果:0x0100 or M0x8

8、049384=0100H or FFOOH0000 0001 0000 0000or 1111 11110000 00001111 1111 0000 0000因此,BX中的內(nèi)容改為OxFFOO。由節(jié)可知,OR指令執(zhí)行后OF=CF=O;因?yàn)榻Y(jié) 果不為0,故ZF=O:因?yàn)樽罡呶粸?,故SF=lo(4) test指令不改變?nèi)魏瓮ㄓ眉拇嫫?,但根?jù)以下“與”操作改變標(biāo)志:Rdl and 0x801000 0000and 1000 00001000 0000由節(jié)可知,TEST指令執(zhí)行后OF=CF=O:因?yàn)榻Y(jié)果不為0,故ZF=O;因?yàn)樽罡呶?為,故 SF=lo(5) 指令功能為:MReax+Redx-MR

9、eax+Redx*32,即存儲(chǔ)單元 0x8049380中的內(nèi)容改變?yōu)橐韵逻\(yùn)算的結(jié)果:M0x8049380*32=0x908fl2a8*32,也即只要將 0x908fl2a8 左移 5 位即 可得到結(jié)果。 1001 0000 1000 1111 0001 0010 1010 1000«5=0001 0001 1110 0010 0101 0101 0000 0000因此,指令執(zhí)行后,單元0x8049380中的內(nèi)容改變?yōu)?xlle25500。顯然,這個(gè) 結(jié)果是溢岀的。但是,根據(jù)表可知,乘法指令不影響標(biāo)志位,也即并不會(huì)使 OF=lo(6) 指令功能為:Rcx -Rcx-1,即CX寄存器的內(nèi)容

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論