复制
收藏
提问
全网
一、设 DS=6000H,ES=2000H,SS=1500H,SI=00A0H,BX=0800H ,BP=1200H, DI=2068H 字符常数 VAR 为 0050H,。说明以下各条指令源操作数的类型和寻址方 式,如果源操作数是存储器操作数的话,求出存储器操作数的物理地址。(10 分) 1.MOV AX,BX 2.MOV DL,60H[BP] 3.MOV AX,VAR[BX][SI] 4.MOV AL,[BP+DI] 5.MOV ES:[BX]
4月前
回答简洁
更专业一些
指令源操作数的类型和寻址方式
-
指令:
MOV AX, BX
- 类型: 寄存器寻址
- 寻址方式: 直接将BX寄存器的内容移动到AX寄存器,不涉及存储器操作数。
-
指令:
MOV DL, 60H[BP]
- 类型: 基址寻址
- 寻址方式: 基址寄存器BP加上位移量60H,形成有效地址。物理地址计算为
物理地址 = (BP + 60H)
。
-
指令:
MOV AX, VAR[BX][SI]
- 类型: 基址变址寻址
- 寻址方式: 基址寄存器BX和变址寄存器SI的和,再加上偏移量VAR,形成有效地址。物理地址计算为
物理地址 = (DS * 10H) + (BX + SI) + VAR
。
-
指令:
MOV AL, [BP+DI]
- 类型: 相对基址变址寻址
- 寻址方式: 基址寄存器BP和变址寄存器DI的和,形成有效地址。物理地址计算为
物理地址 = (SS * 10H) + (BP + DI)
。
-
指令:
MOV ES:[BX]
- 类型: 直接寻址
- 寻址方式: 直接使用ES段寄存器和BX寄存器的和作为有效地址。物理地址计算为
物理地址 = (ES * 10H) + BX
。
物理地址计算
-
对于指令
MOV DL, 60H[BP]
,物理地址为(BP + 60H)
。根据给定的寄存器值,BP = 1200H
,所以物理地址为(1200H + 60H)
。 -
对于指令
MOV AX, VAR[BX][SI]
,物理地址为(DS * 10H)+ (BX + SI) + VAR
。根据给定的寄存器值和偏移量,DS = 6000H
,BX = 0800H
,SI = 00A0H
,VAR = 0050H
,所以物理地址为(6000H * 10H) + (0800H + 00A0H) + 0050H
。 -
对于指令
MOV AL, [BP+DI]
,物理地址为(SS * 10H) + (BP + DI)
。根据给定的寄存器值,SS = 1500H
,BP = 1200H
,DI = 2068H
,所以物理地址为(1500H * 10H) + (1200H + 2068H)
。 -
对于指令
MOV ES:[BX]
,物理地址为(ES * 10H) + BX
。根据给定的寄存器值,ES = 2000H
,BX = 0800H
,所以物理地址为(2000H * 10H) + 0800H
。