指出下列指令中源操作数和目的操作数的寻址方式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.指出下列指令中源操作数和目的操作数的寻址方式:

(1) MOV SI,1000

(2) MOV BP,AX

(3) MOV [SI],1000

(4) MOV BP,[AX]

(5) AND DL,[BX + SI + 20H]

(6) PUSH DS

(7) POP AX

(8) MOV EAX,COUNT[EDX*4]

(9) IMUL AX,BX,34H

(10) JMP FAR PTR LABEL

2.指出下列指令语法是否正确,若不正确请说明原因。

(1) MOV DS,0100H

(2) MOV BP,AL

(3) XCHG AX,2000H

(4) OUT 310H,AL

(5) MOV BX,[BX]

(6) MOV ES:[BX + DI],AX

(7) MOV AX,[SI + DI]

(8) MOV SS:[BX + SI + 100H],BX

(9) AND AX,BL

(10) MOV DX,DS:[BP]

(11) MOV [BX],[SI]

(12) MOV CS,[1000]

(13) IN AL,BX

3.设DS = 2000H,BX = 1256H,SI = 528FH,偏移量 = 20A1H,[232F7H] = 3280H,[264E5] = 2450H。若独立执行下述指令后,请给出对应IP寄存器的内容。

(1) JMP BX;IP=?

(2) JMP [BX][SI];IP=?

4.32位机中,当用MOVZX和MOVSX指令时,传送执行后,结果有什么区别?试以传送80H为例说明之。

6.有如下程序:

MOV AL,45H

ADD AL,71H

DAA

MOV BL,AL

MOV AL,19H

ADC AL,12H

DAA

MOV BH,AL

执行后,BX =?标志位PF =?CF =?

7.执行下列程序段,指出此程序段功能。

(1) MOV CX,10

LEA SI,First

LEA DI,Second

REP MOVSB

(2) CLD

LEA DI,ES:[0404H]

MOV CX,0080H

XOR AX,AX

REP STOSW

8.试用指令实现:

(1) AL寄存器低4位清0;

(2) 测试DL寄存器的最低2位是否为0,若是,则将0送入AL寄存器;否则将1送AL 寄存器。

9.已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为0040H;PORT2的地址是84H,内容为0085H。请指出下列指令执行后的结果。

(1) OUT DX,AL

(2) IN AL,PORT1

(3) OUT DX,AX

(4) IN AX,48H

(5) OUT PORT2,AX

1. 试用指令实现

(1)使AX寄存器清0有4种方式,试写出;

(2)BL寄存器低4位置1;

(3)CL寄存器低4位取反。

参考答案:

(1)XOR AX,AX

AND AX,0000H

SUB AX,AX

MOV AX,0000H

(2)OR BL,0FH

(3)XOR CL,0FH

2. 试分析下面程序段完成什么功能?

MOV CL,04H

SHL DX,CL

MOV BL,AH

SHL AX,CL

SHR BL,CL

OR DL,BL

参考答案:

(DX):(AX)的内容左移4位

3. 下列程序段执行完成后,物理地址单元01070H的内容是什么?

MOV AX,0E0H

MOV DS,AX ;(DS)= 00E0H

MOV BX,200H ;BX指向DS从200H

单元开始的存储区

MOV CX,BX ;(CX)=200H

NEXT: MOV [BX],BL ;将BL中的值存入

BX所指存储单元

INC BX

LOOP NEXT

参考答案:

该程度段实现的功能是将DS(值为00E0H)数据段中偏移地址从200H个单元赋予与它的低8位偏移地址相同的内容。物理地址单元01070H在该数据段中的偏移地址为:01070H –(DS)×16 = 0270H

所以,[01070H] = 70H.

4.已知AL中存放着某字符的ASCII码,下列程序段完成的功能是什么?若(AL)=‗A‘=41H,程序段执行后,AL中的值为多少?

MOV BL,0 ;计数器BL清0

MOV CX,8 ;置循环次数8

AGAIN: ROL AL,1 ;AL内容循环左移1位,

最高位送至CF

JNC NEXT ;CX=1,计数器BL加1,

否则跳过

INC BL

NEXT: LOOP AGAIN

SHR BL,1 ;测试BL中统计结果

(AL中1的个数)的奇偶性

JC EXIT ;为奇数结束,否则将AL

最高位1

OR AL,80H

EXIT:HLT

参考答案:

该程度段实现的功能是对AL中的ASCII码字符进行奇偶测试,并根据结果修改AL 的最高位,使AL中1的个数为奇数。

若(AL)= ‗A‘ = 41H,程序段执行后,(AL)= 11000001B

5.若(BX)= 0002H,且有如下变量定义:

DBT1 DW 0400H

DBT2 DD 01000020H

TAB DW 0600H, 0640H, 06A0H, 06C0H

请指出下列指令的寻址方式及转向地址:

(1)JMP BX

(2)JMP DBT1

(3)JMP DBT2

(4)JMP TAB [BX + 2]

参考答案:

(1) 转向地址(IP)=(BX)= 0002H,寻址方式为段内间接转移寻址;

相关文档
最新文档