計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)_第1頁(yè)
計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)_第2頁(yè)
計(jì)算機(jī)系統(tǒng)基礎(chǔ)第二次作業(yè)_第3頁(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è) 計(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(?p, ?x, 4), %ax (2)mov %al, 12(?p) (3)add ( , ?x,4), ?x (4)or (?x), %dh (5)push $0xf8 (6)mov $0xfff0, x (7)test %cx, %cx (8)lea 8(?x, %esi), x 答:如下表所示: 題目編號(hào) 長(zhǎng)度后綴 源操作數(shù) 目的操作數(shù) (1) w 基址+比例變址+位移 寄存器 (2) b 寄存器 基址+位移

2、 (3) l 比例變址 寄存器 (4) b 基址 寄存器 (5) l 立即數(shù) 棧 (6) l 立即數(shù) 寄存器 (7) w 寄存器 寄存器 (8) l 基址+變址+位移 寄存器 4 使用匯編器處理以下各行at&t格式代碼時(shí)都會(huì)產(chǎn)生錯(cuò)誤,請(qǐng)說(shuō)明每一行存在什么錯(cuò)誤。 (1)movl 0xff, (x) (2)movb %ax, 12(?p) (3)addl x, $0xf0 (4)orw $0xffff0, (?x) (5)addb $0xf8, (%dl) (6)movl %bx, x (7)andl %esi, %esx (8)movw 8(?p, , 4), %ax 答: (1)書(shū)寫(xiě)錯(cuò)誤。因?yàn)?/p>

3、源操作數(shù)是立即數(shù)0xff,所以需要在前面加上$ (2)由于源操作數(shù)(%ax)是16位,而長(zhǎng)度后綴是字節(jié)b,所以不一致,應(yīng)改為movw (3)目的操作數(shù)不能是立即數(shù)尋址 (4)操作數(shù)位數(shù)超過(guò)16位,而長(zhǎng)度后綴為16位的w,應(yīng)改為orl (5)不能用8位寄存器作為目的操作數(shù)地址所在寄存器 (6)源操作數(shù)寄存器與目的操作數(shù)寄存器長(zhǎng)度不一致 (7)不存在esx寄存器 (8)源操作數(shù)地址中缺少變址寄存器 7 假設(shè)變量x和y分別存放在寄存器eax和ecx中,請(qǐng)給出以下每條指令執(zhí)行后寄存器edx中的結(jié)果。 (1)leal (x), x (2)leal 4(x, x), x (3)leal (x, x, 8)

4、, x (4)leal 0xc(x, x, 2), x (5)leal ( , x, 4), x (6)leal (x, x), x 答: (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)redx=4*x /把4*eax的值放到edx中去 (6)redx=x+y /把eax+ecx的值放到edx中去 8假設(shè)以下地址以及寄存器中存放的機(jī)器數(shù)如下表所示 地址 0x8049

5、300 0x8049400 0x8049384 0x8049380 機(jī)器數(shù) 0xfffffff0 0x80000008 0x80f7ff00 0x908f12a8 寄存器 eax ebx ecx edx 機(jī)器數(shù) 0x8049300 0x100 0x10 0x80 分別說(shuō)明執(zhí)行以下指令或寄存中的內(nèi)容交發(fā)生改變?改變后的內(nèi)容是什么條件標(biāo)志of 、 sf 、 zf 和 cf 會(huì)發(fā)生什么改變。 (1)指令功能為:redxredx+mreax=0x00000080+m0x8049300,寄存器edx中內(nèi)容改變。改變后的 內(nèi)容為以下運(yùn)算的結(jié)果:00000080h+fffffff0h 0000 0000 0

6、000 0000 0000 0000 1000 0000 +1111 1111 1111 1111 1111 1111 1111 0000 _ 1 0000 0000 0000 0000 0000 0000 0111 0000 因此,edx中的內(nèi)容改變?yōu)?x00000070。根據(jù)表3.5可知,加法指令會(huì)影響of、sf、zf和cf標(biāo)志。of=0,zf=0,sf=0,cf=1。 (2)指令功能為:recx recx-mreax+rebx=0x00000010+m0x8049400, 寄存器ecx中內(nèi)容改變。 改變后的內(nèi)容為以下運(yùn)算的結(jié)果:00000010h-80000008h。 0000 0000

7、 0000 0000 0000 0000 0001 0000 +0111 1111 1111 1111 1111 1111 1111 1000 _ 0 1000 0000 0000 0000 0000 0000 0000 1000 根據(jù)表3.5可知,減法指令會(huì)影響of、sf、zf和cf標(biāo)志。of=1,zf=0,sf=1,cf=1?0=1。 (3)指令功能為:rbxrbx or mreax+recx*8+4,寄存器bx中內(nèi)容改變。改變后的內(nèi)容為以下運(yùn)算 的結(jié)果:0x0100 or m0x8049384=0100h or ff00h 0000 0001 0000 0000 or1111 1111

8、0000 0000 _ 1111 1111 0000 0000 因此,bx中的內(nèi)容改為0xff00。由3.3.3節(jié)可知,or指令執(zhí)行后of=cf=0;因?yàn)榻Y(jié)果不為0,故zf=0;因?yàn)樽罡呶粸?,故sf=1。 (4)test指令不改變?nèi)魏瓮ㄓ眉拇嫫?,但根?jù)以下“與”操作改變標(biāo)志:rdl and 0x80 1000 0000 and1000 0000 _ 1000 0000 由3.3.3節(jié)可知,test指令執(zhí)行后of=cf=0;因?yàn)榻Y(jié)果不為0,故zf=0;因?yàn)樽罡呶粸?,故sf=1。 (5)指令功能為:mreax+redxmreax+redx*32,即存儲(chǔ)單元0x8049380中的內(nèi)容改變?yōu)橐韵逻\(yùn)算 的結(jié)果:m0x8049380*32=0x908f12a8*32,也即只要將0x908f12a8左移5位即可得到結(jié)果。1001 0000 1000 1111 0001 0010 1010 1000=0001 0001 1110 0010 0101 0101 0000 0000 因此,指令執(zhí)行后,單元0x8049380中的內(nèi)容改變?yōu)?x11e25500。顯然,這個(gè)結(jié)果是溢出的。但是,根據(jù)表3.5可知,乘法指令不影響標(biāo)志位,也即并不會(huì)使of=1。 (6)指令功能為:rcx rcx-1,即cx寄存器的內(nèi)容減一。 0000 00

溫馨提示

  • 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)論