第三章 80X86指令系统和寻址方式 联系客服

发布时间 : 星期六 文章第三章 80X86指令系统和寻址方式更新完毕开始阅读c74d06136edb6f1aff001f85

(6)。DATAX除以23 (用DIV)

(7)。DATAX两个双字除以DATAY(用DIV)

答: (1)。 MOV AX,DATAX ADD DATAY,AX MOV AX,DATAY+2 ADD DATAY+2,AX (2)。 MOV AX,DATAX ADD DATAY,AX MOV AX,DATAY+2 ADC DATAY+2,AX

(3)。 (DATAY) (DAYAX)+(DATAY)+1 (4)。 MOV AX,DATAX MUL DATAY (5)。 设:DATAX DW 0148H,2316H DATAY DW 0237H,4052H

DL DW 4 DUP (0) 程序段为:

MOV AX,DATAX MUL DATAY

MOV DL,AX

MOV DL+2,DX MOV AX,DATAX+2 MUL DATAY ADD DL+2,AX ADC DL+4,DX ADC DL+6,0 MOV AX,DATAX MUL DATAY+2 ADD DL+2,AX ADC DL+4,DX ADC DL+6,0 MOV AX,DATAX+2 MUL DATAY+2 ADD DL+4,AX ADC DL+6,DX (6)。 MOV AX,DATAX MOV DX,0

MOV BX,23

DIV BX (7)。 MOV AX,DATAX MOV DX,DATAX+2 DIV DATAY

3.21 写出DX、AX的双字长数求补的指令序列。 方法1:CMP DX,0 JGE NEXT NEG DX NEG AX SBB DX,0

NEXT:

方法2 CMP AX,0 JGE NEXT NOT AX NOT DX ADD AX,1 ADC DX,0 NEXT:

3.22 试编写一个程序求出双字长数的绝对值。双字长数在A和A+2单元中,结果存放在B

和B+2单元中。

方法1:

data segment

a dw xxxxh,xxxxh b dw ?,? data ends code segment

assume cs:code,ds:daa start: mov ax,data mov ds,ax MOV AX,A MOV DX,A+2 NEG DX NEG AX SBB DX,0 MOV B,AX MOV B+2,DX Mov ah,4ch

Int 21h

Code ends

End start 方法2

data segment

a dw xxxxh,xxxxh b dw ?,? data ends code segment

assume cs:code,ds:daa start: mov ax,data mov ds,ax MOV AX,A

MOV DX,A+2 NOT AX NOT DX ADD AX,1 ADC DX,0 MOV B,AX MOV B+2,DX

Mov ah,4ch Int 21h Code ends

End start 3.23 设(BX)=0E3H、(VALUE)=79H,确定下列各条指令单独执行后的结果。 答:(1)。XOR BX,VALUE (BX)=009AH (2)。AND BX,VALUE (BX)=0061H (3)。OR BX,VALUE (BX)=00FBH (4)。XOR BX,VALUE (BX)=001CH (5)。AND BX,0 (BX)=0000H (6)。TEST BX,01H (BX)=00E3H 3.24 已知 (BX)=6D16H,执行后(DX)=?

MOV CL,07 SHR BX,CL

答:执行后(DX)=0DAH

3.25 试用移位指令把十进制数+53和-49分别乘以2,用什么指令,结果是什么?如果要除

以2呢?

答:(1)。把+53和-49分别乘以2指令是:

MOV AL,53

MOV BL,-49 SHL AL,1 SHL BL,1

结果分别为 106、-98 (2)。把+53和-49分别除以2指令是: MOV AL,53 MOV BL,-49 SHR AL,1 SAR BL,1

结果分别为 26、-24 3.26 试分析下列程序段完成什么功能: MOV CL,04

SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL

答:完成将DX AX双字数据左移四位。 3.27 假定(DX)=0B9H、(CL)=03、(CF)=01,以下各条指令单独执行后(DX)值为多

少?

(1)。SHR DX,1 (2)。SAR DX,CL (3)。SHL DX,CL (4)。SHL DX,1 (5)。ROR DX,CL (6)。ROL DL,CL (7)。SAL DH,1 (8)。RCL DX,CL

(9)。RCR DL,1

答:各条指令单独执行后(DX)值为:

(1)。SHR DX,1 (DX)=5CH (2)。SAR DX,CL (DX)=17H (3)。SHL DX,CL (DX)=5C8H (4)。SHL DX,1 (DX)=72H (5)。ROR DX,CL (DX)=2017H (6)。ROL DL,CL (DX)=0CDH (7)。SAL DH,1 (DX)=0B9H