国产最新a级毛片无码专区_综合亚洲欧美日韩久久精品_日本成年片在线观看66_一本到九九av电影_一级毛片免费网站播放_国内精品久久人无码大片_国产人成视频99在线观看_欧美不卡在线一本二本_国产亚洲电影av_可以免费看黄色软件

知ing

微機原理及應用(第二版)

陳繼紅 徐晨 王春明 徐慧 編著 / 高等教育出版社

???╰★佪眸┅笑★ 上傳

查看本書

第3章?8086/8088 指令系統(tǒng)和尋址方式?習題答案(部分)


1.1 總結(jié)計算機中十進制、二進制、八進制及十六進制數(shù)的書寫形式。123D、0AFH、

77Q、1001110B 分別表示什么計數(shù)制的數(shù)?

答案:123D、0AFH77Q、1001110B 分別表示十進制、十六進制、八進制、二進制。

1.2 ?字長為8 位、16 位二進制數(shù)的原碼、補碼表示的最大數(shù)和最小數(shù)分別是什么?

答案:8 位原碼表示的最大數(shù):(27-1)、8 位補碼表示的最大數(shù):(27-1)、8 位原碼表示的最小數(shù):-27-1)、8 位補碼表示的最小數(shù)-27

16 位原碼表示的最大數(shù):(215-1)、16 位補碼表示的最大數(shù):(215-1)、16 位原碼表示的最小數(shù):-215-1)、16 位補碼表示的最小數(shù)-215

1.3 把下列十進制數(shù)分別轉(zhuǎn)換為二進制數(shù)和十六進制數(shù)。

(1)125 (2)255 (3)72 (4)5090

答案:(1) 125 二進制數(shù):0111 1101B;十六進制數(shù):7DH。

(2)255 二進制數(shù):1111 1111B;十六進制數(shù):0FFH。

(3)72 二進制數(shù):0100 1000B;十六進制數(shù):48H。

(4)5090 二進制數(shù):0001 0011 1110 0010B;十六進制數(shù):13E2H。

1.4 把下列無符號二進制數(shù)分別轉(zhuǎn)換為十進制數(shù)和十六進制數(shù)。

(1)1111 0000 (2)1000 0000 (3)1111 1111 (4)0101 0101

答案:(1)1111 0000 十進制數(shù):240D;十六進制數(shù):0F0H。

(2)1000 0000 十進制數(shù):128D;十六進制數(shù):80H。

(3)1111 1111 十進制數(shù):255D;十六進制數(shù):0FFH

(4)0101 0101 十進制數(shù):85D;十六進制數(shù):55H。

1.5 把下列無符號十六進制數(shù)分別轉(zhuǎn)換為十進制數(shù)和二進制數(shù)。

(1)FF (2)ABCD (3)123 (4)FFFF

答案:(1)FF 十進制數(shù):255D;二進制數(shù);1111 1111B。

(2)ABCD 十進制數(shù):43981D;二進制數(shù);1010 1011 1100 1101B。

(3)123 十進制數(shù):291D;二進制數(shù);0001 0010 0011B。

(4)FFFF 十進制數(shù):65535D;二進制數(shù);1111 1111 1111 1111B。

1.6 分別用8 位二進制數(shù)和16 位二進制數(shù)寫出下列十進制數(shù)的原碼和補碼。

(1)16 (2)-16 (3)+0 (4)-0 (5)127 (6)-128 (7)121 (8)-9

答案:

(1)16 8 位二進制數(shù)原碼:0001 0000 補碼:0001 0000;16 位二進制數(shù)原碼:0000 0000

0001 0000 補碼: 0000 0000 0001 0000

(2)-16 8 位二進制數(shù)原碼:1001 0000 補碼:1111 0000;16 位二進制數(shù)原碼:1000 0000

0001 0000 補碼:1111 1111 1111 0000

(3)+0 8 位二進制數(shù)原碼:0000 0000 補碼:0000 000016 位二進制數(shù)原碼:0000 0000

0000 0000 補碼:0000 0000 0000 0000。

(4)-0 8 位二進制數(shù)原碼:1000 0000 補碼:0000 0000;16 位二進制數(shù)原碼:1000 0000

0000 0000 補碼: 0000 0000 0000 0000

(5)127 8 位二進制數(shù)原碼:0111 1111 補碼: 0111 1111;16 位二進制數(shù)原碼:0000 0000

0111 1111 補碼: 0000 0000 0111 1111。

(6)-128 8 位二進制數(shù)原碼:?補碼: 1000 0000 ;16 位二進制數(shù)原碼:1000 0000

1000 0000 補碼:1111 1111 1000 0000。

(7)121 8 位二進制數(shù)原碼:0111 1001 補碼: 0111 1001;16 位二進制數(shù)原碼:0000 0000

0111 1001 補碼: 0000 0000 0111 1001。

(8)-9 8 位二進制數(shù)原碼:1000 1001 補碼:1111 0111;16 位二進制數(shù)原碼:1000 0000

1000 1001 補碼:1111 1111 1111 0111。

1.7 試實現(xiàn)下列轉(zhuǎn)換。

(1)[]10111110B,求[]?(2)[]11110011B,求[-]

(3)[]10111110B,求[]?(4)[]10111110B,求[]

答案:(1) 1100 0010 (2) 0000 1101 (3) 1100 0010 (4) 1011 1101

1.8 假設兩個二進制數(shù)A01101010,B10001100,試比較它們的大小。

(1)A、B 兩數(shù)均為帶符號的補碼數(shù)?(2)AB 兩數(shù)均為無符號數(shù)

答案:(1)A、B 兩數(shù)均為帶符號的補碼數(shù):AB

(2)A、B 兩數(shù)均為無符號數(shù):AB

1.9 下列各數(shù)均為十進制數(shù),請用8 位二進制數(shù)補碼計算下列各題,用十六進制數(shù)表示

其運算結(jié)果,并判斷是否溢出,驗證教材中所給的判斷依據(jù)。

(1)90+71 (2)90-71 (3)-90-71 (4)-90+71 (5)-90-(-71)

答案:(1)90+71=161127 溢出

[90]+[71]=0101 1010+0100 0111=1010 0001=0A1H=[-91]

(2)90-71=19127 無溢出

[90]+[-71]=0101 1010+1011 1001=0001 0011=13H=[19]

(3)-90-71=-161-128 溢出

[-90]+[-71]=1010 0110+1011 1001=0101 1111=5FH=[95]

(4)-90+71=-19-128 無溢出

[-90]+[71]=1010 0110+0100 0111=1110 1101=0EDH=[-19]

(5)-90-(-71)=-19-128 無溢出

[-90]+[71]=1010 0110+0100 0111=1110 1101=0EDH=[-19]

3.10 完成下列8 位二進制數(shù)的邏輯運算。

(1)1100110010101010 (2)1100110010101010

(3)1100110010101010 (4)1010110010101100

(5)1010110010101100 (6)1010110010101100

(7)10101100

答案:(1)1100110010101010=1000 1000 (2)1100110010101010=1110 1110

(3)1100110010101010=0110 0110 (4)1010110010101100=1010 1100

(5)1010110010101100=0000 0000 (6)1010110010101100=1010 1100

(7)10101100=0101 0011

1.11 以下均為2 位十六進制數(shù),試說明當把它們分別看作無符號數(shù)或字符的ASCII

值,它們所表示的十進制數(shù)和字符是什么?

(1)30H (2)39H (3)42H (4)62H (5)20H (6)7H

答案:(1)30H 所表示的十進制數(shù)是:48D;字符是:0。

(2)39H 所表示的十進制數(shù)是:57D;字符是:9。

(3)42H 所表示的十進制數(shù)是:66D;字符是:B。

(4)62H 所表示的十進制數(shù)是:98D;字符是:b。

(5)20H 所表示的十進制數(shù)是:32D;字符是:sp 空格。

(6)7H 所表示的十進制數(shù)是:7D;字符是:BEL 報警。

1.12 把以下十進制數(shù)分別以壓縮BCD 碼、非壓縮BCD 碼、ASCII 碼串表示。

(1)2 (2)78

答案:(1)2 壓縮BCD :0010、非壓縮BCD :0000 0010ASCII :011 0010

(2)78 壓縮BCD :0111 1000、非壓縮BCD :0000 0111 0000 1000ASCII :0110111

011100

1.13 設浮點數(shù)格式如下圖所示:

階碼、尾數(shù)均以補碼表示,基數(shù)為2,求:+25.6 -361.25 的規(guī)格化浮點數(shù)。

答案:1) +25.6D=11001.1001100110B=0.110011001100110×25

+5=0101B,補碼:0101,尾數(shù):[ 0.110011001100110]=0.110011001100110

規(guī)格化浮點數(shù):0 0000101 0 110011001100110

2) -361.25D=-101101001.01B=29×(-0.101101001010000)

+9=1001,補碼:1001,尾數(shù):[ -0.101101001010000]=1.010010110110000

規(guī)格化浮點數(shù):0 0001001 1 010010110110000

1.14 設某計算機用12 位表示一個浮點數(shù),該浮點數(shù)從高位到低位依次為:階符1 位、

階碼3 (原碼表示)、數(shù)符1 位、尾數(shù)7 (補碼表示),則0 100 1 0110011 的真值是多少?

答案:-9.625

?3.1 8086 匯編語言指令的尋址方式有哪幾類?哪種尋址方式的指令執(zhí)行速度最快?

解:尋址方式分為:立即數(shù)尋址方式、寄存器操作數(shù)尋址方式和存儲器操作數(shù)尋址方式。

其中,寄存器操作數(shù)尋址方式的指令執(zhí)行速度最快。

3.2?在直接尋址方式中,一般只指出操作數(shù)的偏移地址,那么,段地址如何確定?如果要用

某個段寄存器指出段地址,指令中應該如何表示?

解:默認的數(shù)據(jù)訪問,操作數(shù)在DS 段;堆棧操作在SS 段;串操作源操作數(shù)(SI)DS

,目的操作數(shù)(DI)ES 段;用BP 作為指針在SS 段。如果要顯式地指定段地址,則在操作

數(shù)中規(guī)定段寄存器。例如:

MOV AX,?ES(BX+10H)

3.3 ?8086 系統(tǒng)中,設DS=1000H,ES=2000HSS=1200H,BX=0300H,SI=0200H,

BP=0100H,VAR 的偏移量為0600H,請指出下列指令的目標操作數(shù)的尋址方式,若目

標操作數(shù)為存儲器操作數(shù),計算它們的物理地址。

1MOV BX,12 ;目標操作數(shù)為寄存器尋址

2MOV [BX],12 ;目標操作數(shù)為寄存器間址?PA=10300H

3MOV ES[SI],AX ;目標操作數(shù)為寄存器間址?PA=20200H

4MOV VAR,8 ;目標操作數(shù)為存儲器直接尋址?PA=10600H

5MOV [BX][SI],AX ;目標操作數(shù)為基址加變址尋址?PA=10500H

6MOV 6[BP][SI],AL ;目標操作數(shù)為相對的基址加變址尋址?PA=12306H

7MOV [1000H]DX ;目標操作數(shù)為存儲器直接尋址?PA=11000H

8MOV 6[BX],CX ;目標操作數(shù)為寄存器相對尋址?PA=10306H

9MOV VAR+5AX ;目標操作數(shù)為存儲器直接尋址?PA=10605H

3.4下面這些指令中哪些是正確的?那些是錯誤的?如果是錯誤的,請說明原因。

1XCHG CS,AX ;錯,CS 不能參與交換

2MOV [BX],[1000] ;錯,存儲器之不能交換

3XCHG BX,IP ;錯,IP 不能參與交換

4PUSH CS ;錯,CS 不能為PUSH 的操作數(shù)

5POP CS ;錯,不能將數(shù)據(jù)彈到CS

6IN BX,DX ;輸入/輸出只能通過AL/AX

7MOV BYTE[BX],1000 ;1000 大于255,不能裝入字節(jié)單元

8MOV CS,[1000] ;CS 不能作為目標寄存器

9MOV BX,OFFSET VAR[SI] ;OFFSET 只能取變量的偏移地址

10MOV AX,[SI][DI] SIDI 不能成為基址加變址

11MOV COUNT[BX][SI],ESAX ;AX 是寄存器,不能加段前綴

3.5?試述以下指令的區(qū)別:

?MOV AX,3000H ?MOV AX,[3000H]

答案:?MOV AX,3000H 指令源操作數(shù)的尋址方式為立即尋址方式,指令執(zhí)行結(jié)果為:

(AX)=3000H。?MOV AX,[3000H]指令源操作數(shù)的尋址方式為直接尋址方式,指令執(zhí)行結(jié)

果為:DS:3000H)_AX

?MOV AX,MEM ?MOV AX,OFFSET MEM

答案:?MOV AX,MEM 指令源操作數(shù)的尋址方式為直接尋址方式,指令執(zhí)行結(jié)果為:

DS:MEM)_AX。?MOV AX,OFFSET MEM 指令的執(zhí)行結(jié)果是把MEM 的偏移量送AX

?MOV AX,MEM ?LEA AX,MEM

答案:?MOV AX,MEM 指令的執(zhí)行結(jié)果是LDS:MEM)_AX。?LEA AX,MEM

的執(zhí)行結(jié)果是把MEM 的偏移量送AX。

(4) JMP SHORT L1 ?JMP NEAR PTR L1

答案:JMP SHORT L1 為段內(nèi)無條件短程轉(zhuǎn)移,跳轉(zhuǎn)的范圍不得超過帶符號的8 位二進

制數(shù)表示的字節(jié)范圍;JMP NEAR PTR L1 為段內(nèi)無條件近程轉(zhuǎn)移,跳轉(zhuǎn)的范圍不得超過帶

符號的16 位二進制數(shù)表示的字節(jié)范圍。

(5) CMP DX,CX ?SUB DX ,CX

答案:CMP DX,CX 是比較,也是利用減法比較,但是dx 中的值不變,標志寄存器改

變。SUB DX ,CX 是做減法運算,dx 中為減后的值,標志寄存器改變

(6)MOV [BP][SI],CL ?MOV DS:[ BP][SI],CL

答案:BP 默認的段基址是SS,物理地址PA=SS+BP+SI;第二個重定義為DS 段基址,

物理地址PA=DS+BP+SI

3.6?DS=2100H,SS=5200H,BX=1400H,BP=6200H,說明下面兩條指令所進行的

具體操作:

MOV BYTE PTR [BP], 20H

MOV WORD PTR [BX], 20H

:前一條指令是把立即數(shù)20H,傳送至堆棧段(BP 的默認段)偏移量由BP 規(guī)定的字節(jié)單

,地址為:52000H+6200H=58200H

第二條指令是把立即數(shù)20H,傳送至數(shù)據(jù)段(BX 的默認段)偏移量由BX 規(guī)定的字單元,

址為:21000H+1400H = 22400H

3.7?設當前?SS=2010H,SP=FE00HBX=3457H,計算當前棧頂?shù)牡刂窞槎嗌??當?zhí)

?PUSH BX 指令后,棧頂?shù)刂泛蜅m?/span>2 個字節(jié)的內(nèi)容分別是什么?

答案:當前棧頂?shù)牡刂?/span>=2FF00H

當執(zhí)行PUSH BX 指令后,棧頂?shù)刂?/span>=2FEFEH

(2FEFEH)=57H

(2FEFFH)=34H

3.8?DX=78C5H,CL=5,CF=1,確定下列各條指令執(zhí)行后,DX CF 中的值。

1?SHR DX,1 DX=3C62H CF=1

2?SAR DX,CL DX=03C6H CF=0

3?SHL DX,CL DX=18A0H CF=1

4?ROR DX,CL DX=2BC6H CF=0

5?RCL DX,CL DX=18B7H CF=1

6?RCR DH,1 ;DX=BCC5H CF=0

3.9?AX=0A69HVALUE 字變量中存放的內(nèi)容為1927H,寫出下列各條指令執(zhí)行

后寄存器和CF、ZF、OFSF、PF 的值。

AX CF ZF OF SF PF

1XOR AXVALUE ;?134EH 0 0 0 0 1

2AND AX,VALUE ;?0821H 0 0 0 0 1

3SUB AX,VALUE ;?F142H 1 0 0 1 1

4CMP AX,VALUE ;?0A69H 1 0 0 1 1

5NOT AX ?F596H X X X X X

6TEST AX,VALUE ;?0A69H 0 0 0 0 1

3.10?AX BX 中是符號數(shù),CX DX 是無符號數(shù),請分別為下列各項確定CMP

和條件轉(zhuǎn)移指令。

CX 值超過DX 轉(zhuǎn)移。

AX 未超過BX 轉(zhuǎn)移。

DX 0 轉(zhuǎn)移。

CX 值等于小于DX 轉(zhuǎn)移。

答案:

1?CMP CX,DX

JA NEXT

2?CMP AXBX

JLE NEXT

3?CMP DX,0

JZ NEXT

4?CMP CXDX

JBE NEXT

3.11?閱讀分析下列指令序列:

ADD AX,BX

JNO L1

JNC L2

SUB AXBX

JNC L3

JNO L4

JMP L5

AX BX 的初值分別為以下5 種情況,則執(zhí)行該指令序列后,程序?qū)⒎謩e轉(zhuǎn)向何處

L1L5 中的一個)。

AX=13C6H,?BX=80DCH

AX=0B568H,BX=54B7H

AX=42C8H,?BX=608DH

AX=0D023H,BX=9FD0H

AX=9FD0H,?BX=0D023H

答案:(1)轉(zhuǎn)L1:不溢出,轉(zhuǎn)移到L1 處;

(2)轉(zhuǎn)L1:不溢出,轉(zhuǎn)移到L1 處;

(3)轉(zhuǎn)L2:溢出,不轉(zhuǎn)移到L1 處,進位CF=0,轉(zhuǎn)移到L2 處;

(4)轉(zhuǎn)L3:溢出,不轉(zhuǎn)移到L1 處,進位CF=1,不轉(zhuǎn)移到L2 處,減法借位CF=0,轉(zhuǎn)移

L3 處;

(5)轉(zhuǎn)L5:溢出,不轉(zhuǎn)移到L1 處,進位CF=1,不轉(zhuǎn)移到L2 處,減法借位CF=1,不轉(zhuǎn)

移到L3 處,不溢出OF=0,轉(zhuǎn)移到L4 處;

3.12?用普通運算指令執(zhí)行BCD 碼運算時,為什么要進行十進制調(diào)整?具體地講,在進行

BCD 碼的加、減、乘、除運算時,程序段的什么位置必須加上十進制調(diào)整指令?

解:因為8086 指令把操作數(shù)作為二進制數(shù)進行二進制運算,要得到正確的BCD 結(jié)果,

要進行調(diào)整。在加、減、乘法指令之后加上BCD 調(diào)整指令,而在除法指令之前先用BCD 調(diào)

整指令再用除法指令。

3.13?在編寫乘除法程序時,為什么常用移位指令來代替乘除法指令?編寫一段程序,實

現(xiàn)將BX 中的數(shù)除以10,結(jié)果仍然放在BX 中。

解:用移位指令時,左移l 位相當于將操作數(shù)乘2,右移1 位相當于將操作數(shù)除2。用

移位指令實現(xiàn)一些簡單的乘除法程序,比用乘法指令和除法指令進行乘、除運算要快得多。

用除法指令實現(xiàn):

MOV CL 0AH

MOV AX,BX

IDIV CL

MOV BX,AX

3.14?串操作指令使用時特別要注意和SI,DI 這兩個寄存器及方向標志DF 密切相關(guān)。請

具體就指令MOVSB/MOVSW、CMPSB/CMPSW、SCASB/SCASW、LODSB/LODSW

STOSB/STOSW 列表說明和SI、DI DF 的關(guān)系。

解答:

SI DI DF

MOVSB/MOVSW 指出源地

指出目的地

不帶?REP 重復前綴時,DF=0,每傳送一次,SI、

DI 1 或加2,DF=1SI、DI 則減1 或減2

CMPSB/CMPSW

存放源字

符串首地

存放目的字

符串首地址

DF=0,每次比較后,SIDI 1 或加2,CX

1DF=1,SIDI 1 或減2,CX 1

SCASB/SCASW ?指出字符串

首址偏移量?

LODSB/LODSW 作為地址

指針

存放處理結(jié)

DF=1 時,地址作增量修改,DF=0 時,地址作減

量修改

STOSB/STOSW ?存放目的地

?

3.15?用串操作指令設計實現(xiàn)以下功能的程序段:首先將100H 個數(shù)從2170H 處搬到

1000H 處,然后,從中檢索相等于VAL 中字符的單元,并將此單元值換成空格符。

解答:

START:MOV AX, DS

MOV ES, AX

MOV SI, 2170H

MOV DI, 1000H

MOV CX, 100H

CLD

REP MOVSB

ANOTHER:MOV DI, 1000H

MOV AL, VAL

MOV CX, 100H

CLD

AGE: SCASB

JZ FIN

DEC CX

JNZ AGE

JMP OVER

FIN: MOV BYTE PTR[DI-1],20H

CMP CX,0

JNZ AGE

OVER: RET

3.16 ?求雙字長數(shù)DXAX 的相反數(shù)。

:

NEG DX

NEG AX

SBB DX,0

3.17?試對數(shù)據(jù)段偏移地址為101H 單元中的單字節(jié)數(shù)求補后存入102H,最高位不變,

7 位取反存入103H,高4 位置1,低4 位不變,存入104H。

:

MOV AX,[0101H]

MOV BX,AX

MOV CX,AX

NOT AX

MOV [0102H],AX

XOR BX,7FH

MOV [0103H],BX

AND CX,0F0H

MOV [0104H]

3.19?試編寫一個程序,比較兩個同長字符串STRING1 STRING2 所含字符是否相同,

若相同MATCH 單元賦值1,若不相同MATCH 單元賦值0

答案:

程序段為:

;數(shù)據(jù)定義

STRING1 DB ‘ABCDEFGHIJK ;串1,作為源串

STRING2 DB ‘ABCDFGKJ ;串2,作為目標串

MATCH DB ? ;定義MATCH 單元

;功能代碼

MOV AX,SEG STRING1

MOV DS,AX ;源串段地址送DS

MOV AX,SEG STRING2

MOV ES,AX ;目標串段地址送ES

LEA SI, STRING1 ;源串偏移地址送SI

LEA DI, STRING2 ;目標串偏移地址送DI

MOV CX, STRING1- STRING2 ;重復次數(shù)送CX

CLD ;地址增

REPE CMPSB ;相等繼續(xù)比較,不相等退出

JZ EQUAL ;退出時,若ZF=1,表示兩串相等

MOV MATCH,0 ;不相同,MATCH 單元賦值0

JMP OVER

EQUAL:MOV MATCH,1 ;相同MATCH 單元賦值1

OVER:HLT

3.20?編寫代碼,計算a+10b+100c+20d,其中a、b、cd 均為單字節(jié)無符號數(shù),結(jié)果為16

位,存入SUM 開始的兩單元中。

data segment

ma db 12

mb db 21

mc db 86

md db 150

SUM dw 0

data ends

code segment

assume ds:data,cs:code

start:mov ax,data

mov ds,ax

mov dh,0

mov dl,ma

mov ah,0

mov al,10

mul mb

add dx,ax

mov ah,0

mov al,100

mul mc

add dx,ax

mov ah,0

mov al,20

mul md

add dx,ax

mov SUM,dx

code ends

end start

3.21?試編寫一段程序把LIST LIST+100 中的內(nèi)容傳到BLK BLK+100 中去。

答案:

程序段為:

MOV AX,SEG LIST

MOV DS,AX ;源串段地址送DS

MOV AX,SEG BLK

MOV ES,AX ;目標串段地址送ES

LEA SI, LIST ;源串偏移地址送SI

LEA DI, BLK ;目標串偏移地址送DI

MOV CX, 101 ;重復次數(shù)送CX

CLD ;地址增

REP MOVSB

3.23?CS:0100H 單元有一條兩字節(jié)的JMP SHORT LAB 指令,若其中的位移量為:

56H 80H 78H (4)0E0H

試寫出轉(zhuǎn)向目標的物理地址是多少?

答:因為CS:0100H 處存放兩字節(jié)指令JMP SHORT LAB,所以當執(zhí)行該指令時

(IP)=0102H

(1) 轉(zhuǎn)向目標的物理地址是:(CS)*10H+(IP)+0056H=CS:0058H

(2) 轉(zhuǎn)向目標的物理地址是:(CS)*10H+(IP)+0FF80H=CS:0082H;80H 對應的負數(shù)為-80H

(向上轉(zhuǎn)移,負位移量)

(3) 轉(zhuǎn)向目標的物理地址是:(CS)*10H+(IP)+0078H=CS:0180H

(4) 轉(zhuǎn)向目標的物理地址是:(CS)*10H+(IP)+0FFE0H=CS:00E2H;E2H 對應的負數(shù)為

-1EH(向上轉(zhuǎn)移,負位移量)

3.24?不使用除法指令,將堆棧段中10H、11H 單元中的雙字節(jié)帶符號數(shù)除以8,結(jié)果存

12H、13H 單元(注:多字節(jié)數(shù)存放格式均為低位在前,高位在后)。

POP AX

POP BX

TEST AX,8000H ;測試被除數(shù)符號位

MOV CL,3

JZ ZS ;若為正數(shù),跳轉(zhuǎn)到ZS

SAR AX,CL

JMP OVER

ZS: SHR AX,CL

OVER:PUSH AX

3.26?數(shù)據(jù)段中3030H 起有兩個16 位的帶符號數(shù),試求它們的積,存入3034H-3036H

元中。

答案:

MOV AX,[3030H]

MOV BX,[3032H]

IMUL BX

MOV [3034H],AX

MOV [3036H]


查看更多