匯編語言第三五章課后題答案_第1頁
匯編語言第三五章課后題答案_第2頁
匯編語言第三五章課后題答案_第3頁
匯編語言第三五章課后題答案_第4頁
匯編語言第三五章課后題答案_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——匯編語言第三五章課后題答案3.1給定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,試確定在以下各種尋址方式下的

有效地址是什么?(1)馬上尋址(2)直接尋址

(3)使用BX的寄放器尋址(4)使用BX的簡接尋址

(5)使用BX的寄放器相對尋址(6)基址變址尋址

(7)相對基址變址尋址

答:(1)操作數(shù)在指令中,即馬上數(shù);

(2)EA=D=7237H;

(3)無EA,操作數(shù)為(BX)=637DH;(4)EA=(BX)=637DH;

(5)EA=(BX)+D=0D5B4H;

(6)EA=(BX)+(SI)=8E18H;(7)EA=(BX)+(SI)+D=1004FH;超過了段的邊界,最高進位位丟失,因此EA=004FH。

3.2試根據(jù)以下要求寫出相應的匯編語言指令

(1)把BX寄放器和DX寄放器的內容相加,結果存入DX寄放器中。

(2)用寄放器BX和SI的基址變址尋址方式把存儲器中的一個字節(jié)與AL寄放器的內容相加,并把結果送到AL寄放器中。

(3)用寄放器BX和位移量0B2H的寄放器相對尋址方式把存儲器中的一個字和(CX)相加,并把結果送回存儲器中。

(4)用位移量為0524H的直接尋址方式把存儲器中的一個字與數(shù)2A59H相加,并把結

果送回存儲單元中。(5)把數(shù)0B5H與(AL)相加,并把結果送回AL中。答:(1)ADDDX,BX

(2)ADD(3)ADD(4)ADD(5)ADD

AL,[BX][SI][BX+0B2H],CX

WORDPTR[0524H],2A59HAL,0B5H

3.3寫出把首地址為BLOCK的字數(shù)組的第6個字送到DX寄放器的指令。要求使用以下幾

種尋址方式:

(1)寄放器間接尋址(2)寄放器相對尋址(3)基址變址尋址

答:(1)MOVBX,OFFSETBLOCK

ADDBX,(6–1)*2

MOVDX,[BX]

(2)MOVBX,OFFSETBLOCKMOVDX,[BX+(6–1)*2]BLOCK[BX]

(3)MOVBX,OFFSETBLOCKMOVSI,(6–1)*2MOVDX,[BX][SI]

改為:MOVBX,(6-1)*2也可MOV

DX,

3.4現(xiàn)有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20230H)=12H,(20231H)=34H,

(20232H)=56H,(20233H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,試說明以下各條指令執(zhí)行完后AX寄放器的內容。

1B00:2000H10H(1)MOVAX,1200H

FFH1B00:2023H(2)MOVAX,BX

00H1B00:2023H(3)MOVAX,[1200H]

80H1B00:2023H(4)MOVAX,[BX]

(5)MOVAX,1100[BX]

?→(AL)

8000:FF10H(6)MOVAX,[BX][SI]?→(AH)8000:FF11H(7)MOVAX,1100[BX][SI]

答:(1)(AX)=1200H3.6題的作圖表示

(2)(AX)=0100H

(3)(AX)=4C2AH(4)(AX)=3412H(5)(AX)=4C2AH(6)(AX)=7856H(7)(AX)=65B7H

3.5給定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH,

(224A0H)=0600H,(275B9H)=098AH,試為以下的轉移指令找出轉移的偏移地址。(1)段內直接尋址

(2)使用BX及寄放器間接尋址方式的段內間接尋址(3)使用BX及寄放器相對尋址方式的段內間接尋址

答:(1)JMPNEARPTR5119H;(IP)=5119H+((IP)+03H)=7CDCH,物理地址

PA=09CDCH

(IP)+03H是JMPNEARPTR5119H指令的下一條指令的首地址。(2)JMPWORDPTR[BX](3)JMPD[BX]

;(IP)=((DS)*10H+(BX))=0600H,PA=02600H

;(IP)=((DS)*10H+(BX)+D)=098AH,PA=0298AH

3.6設當前數(shù)據(jù)段寄放器的內容為1B00H,在數(shù)據(jù)段的偏移地址2000H單元內,含有一個

內容為0FF10H和8000H的指針,它們是一個16位變量的偏移地址和段地址,試寫出把該變量裝入AX的指令序列,并畫圖表示出來。答:MOVBX,[2000H]

MOVAX,[2000H+2]MOVES,AX

MOVAX,ES:[BX]

6BH,(3)0C6H,試問轉向地址OBJ的值是多少?答:(1)OBJ=0624H+02H+27H=064DH

(2)OBJ=0624H+02H+6BH=0691H(3)OBJ=0624H+02H+0C6H=05ECH負位移量)

3.8假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,

數(shù)據(jù)段中變量名VAL的偏移地址為0050H,試指出以下源操作數(shù)字段的尋址方式是什

;C6H對應的負數(shù)為-3AH(向上轉移,

;圖示如上所示。

MOVLESMOV

BX,2000HBX,[BX]AX,ES:[BX]

3.7在0624H單元內有一條二字節(jié)JMPSHORTOBJ指令,如其中位移量為(1)27H,(2)

么?其物理地址值是多少?(1)MOV(3)MOV(5)MOV(7)MOV(9)MOV

AX,0ABHAX,[100H]AX,[BX]AX,[BP]

(2)MOV(4)MOV(6)MOV(8)MOV(10)MOV

AX,BXAX,VALAX,ES:[BX]AX,[SI]AX,VAL[BX]

AX,[BX+10]

(11)MOVAX,[BX][SI]答:(1)馬上方式;

(2)寄放器尋址方式;

(3)直接尋址方式;(4)直接尋址方式;

(12)MOVAX,VAL[BX][SI]操作數(shù)在本條指令中操作數(shù)為(BX)=0100H

PA=20230HPA=20230HPA=20230HPA=21100HPA=15010HPA=200A0HPA=20230H

(5)BX寄放器間接尋址方式;

(6)附加段BX寄放器間接尋址方式;(7)BP寄放器間接尋址方式;(8)SI寄放器間接尋址方式;(9)BX寄放器相對尋址方式;

(10)BX寄放器相對尋址方式;PA=20230H(11)BX和SI寄放器基址變址尋址方式;PA=201A0H(12)BX和SI寄放器相對基址變址尋址方式;PA=201F0H

3.9在ARRAY數(shù)組中依次存儲了七個字數(shù)據(jù),緊接著是名為ZERO的字單元,表示如下:

ARRAYDW23,36,2,100,32000,54,0

ZERODW?

(1)假使BX包含數(shù)組ARRAY的初始地址,請編寫指令將數(shù)據(jù)0傳送給ZERO單元。(2)假使BX包含數(shù)據(jù)0在數(shù)組中的位移量,請編寫指令將數(shù)據(jù)0傳送給ZERO單元。答:(1)MOVAX,[BX+(7-1)*2]

MOV[BX+(7)*2],AX(2)MOVAX,ARRAY[BX]MOVARRAY[BX+2],AX

3.10如TABLE為數(shù)據(jù)段中0032單元的符號名,其中存放的內容為1234H,試問以

TABLE0AH00HMOVAX,TABLE

14HLEAAX,TABLE

TABLE+300H答:MOVAX,TABLE是將TABLE單元的內容送到AX,(AX)=1234H

1EHLEAAX,TABLE是將TABLE單元的有效地址送到AX,(AX)=0032H

00H3.11執(zhí)行以下指令后AX寄放器中的內容是什么?28HTABLEDW10,20,30,40,50;000AH,0014H,001EH,0028H,0032H00H32HENTRYDW3

00H┇

3.11題的TABLEMOVBX,OFFSETTABLE

存儲方式ADDBX,ENTRY

MOVAX,[BX]

答:(AX)=1E00H(TABLE的存儲方式如右圖所示)

3.12以下ASCII碼串(包括空格符)依次存儲在起始地址為CSTRING的字節(jié)單元中:

下兩條指令有什么區(qū)別?指令執(zhí)行完后AX寄放器的內容是什么?

CSTRINGDB?BASEDADDRESSING?

請編寫指令將字符串中的第1個和第7個字符傳送給DX寄放器。答:MOVDH,CSTRING

MOVDL,CSTRING+7-1

3.13已知堆棧段寄放器SS的內容是0FFA0H,堆棧指針寄放器SP的內容是00B0H,先執(zhí)

行兩條把8057H和0F79H分別進棧的PUSH指令,再執(zhí)行一條POP指令。試畫出堆棧區(qū)和SP的內容變化過程示意圖(標出存儲單元的物理地址)。答:堆棧區(qū)和SP的內容變化過程示意圖如下左圖所示。

3.14設(DS)=1B00H,(ES)=2B00H,有關存儲單元的內容如上右圖所示。請寫出兩條指令把

字變量X裝入AX寄放器。

答:MOVBX,[2000H]

MOVAX,ES:[BX]

3.15求出以下各十六進制數(shù)與十六進制數(shù)62A0H之和,并根據(jù)結果設置標志位SF、ZF、

CF和OF的值。(1)1234H(2)4321H(3)CFA0H答:(1)和為74D4H;SF=0,ZF=0,CF=0,OF=0

(2)和為A5C1H;SF=1,ZF=0,CF=0,OF=1(3)和為3240H;SF=0,ZF=0,CF=1,OF=0(4)和為0000H;SF=0,ZF=1,CF=1,OF=0

3.16求出以下各十六進制數(shù)與十六進制數(shù)4AE0H的差值,并根據(jù)結果設置標志位SF、ZF、

CF和OF的值。

(1)1234H(2)5D90H(3)9090H答:(1)差為C754H;SF=1,ZF=0,CF=1,OF=0

(2)差為12B0H;SF=0,ZF=0,CF=0,OF=0(3)差為45B0H;SF=0,ZF=0,CF=0,OF=1(4)差為9F24H;SF=1,ZF=0,CF=0,OF=0

3.17寫出執(zhí)行以下計算的指令序列,其中X、Y、Z、R、W均為存放16位帶符號數(shù)單元的

地址。

(1)Z←W+(Z-X)(3)Z←(W*X)/(Y+6),R←余數(shù)答:(1)MOVAX,Z

SUBAX,XADDAX,W

(2)Z←W-(X+6)-(R+9)(4)Z←((W-X)/5*Y)*2

(4)EA04H(4)9D60H

FFAACH79H←再次進棧(SP)←(SP)-2

出棧時(SP)←(SP)+20FHFFAAEH57H←首次進棧(SP)←(SP)-2

80HFFAB0H3.13題的堆棧區(qū)和SP的內容變化過程示意圖

1B00:20008000H1B00:20232B00H

2B00:8000X3.14題的存儲區(qū)狀況

;以下程序都未考慮帶符號數(shù)的溢出

MOVZ,AX

(2)MOVBX,XADDBX,6MOVCX,RADDCR,9MOV

AX,W

SUBAX,BXSUBAX,CXMOVZ,AX(3)ADDY,6MOVAX,WIMULXIDIVYMOVZ,AXMOVR,DX(4)MOVAX,WSUBAX,XCWD

MOVBX,5IDIVBX

IMULY

SHLAX,1;((DX),(AX))*2RCLDX,1

3.18已知程序段如下:

MOVMOVRO

溫馨提示

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

評論

0/150

提交評論