�/p>
3
ç«?/p>
8086/8088
指令系统与寻址方式习题
3
ï¼?/p>
3 8086
系统中,è®?/p>
DS=1000H
ï¼?/p>
ES=2000H
ï¼?/p>
SS=1200H
ï¼?/p>
BX=0300H
ï¼?/p>
SI=0200H
ï¼?/p>
BP=0100H
ï¼?/p>
VAR
的偏移量ä¸?/p>
0600H
,请指出下列指令的目标操作数的寻址方式,若目标操作
数为存储器操作数,计算它们的物理地址ã€?/p>
ï¼?/p>
1
ï¼?/p>
MOV BX
ï¼?/p>
12
;目标操作数为寄存器寻址
ï¼?/p>
2
ï¼?/p>
MOV [BX]
ï¼?/p>
12
;目标操作数为寄存器间址
PA=10300H
ï¼?/p>
3
ï¼?/p>
MOV ES
ï¼?/p>
[SI]
ï¼?/p>
AX
;目标操作数为寄存器间址
PA=20200H
ï¼?/p>
4
ï¼?/p>
MOV VAR
ï¼?/p>
8
;目标操作数为存储器直接寻址
PA=10600H
ï¼?/p>
5
ï¼?/p>
MOV [BX][SI]
ï¼?/p>
AX
;目标操作数为基址加变址寻址
PA=10500H
ï¼?/p>
6
ï¼?/p>
MOV 6[BP][SI]
ï¼?/p>
AL
;目标操作数为相对的基址加变址寻址
PA=12306H
ï¼?/p>
7
ï¼?/p>
MOV [1000H]
ï¼?/p>
DX
;目标操作数为存储器直接寻址
PA=11000H
ï¼?/p>
8
ï¼?/p>
MOV 6[BX]
ï¼?/p>
CX
;目标操作数为寄存器相对寻址
PA=10306H
ï¼?/p>
9
ï¼?/p>
MOV VAR+5
ï¼?/p>
AX
;目标操作数为存储器直接寻址
PA=10605H
3
ï¼?/p>
4
下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因ã€?/p>
ï¼?/p>
1
ï¼?/p>
XCHG CS
ï¼?/p>
AX
;错ï¼?/p>
CS
不能参与交换
ï¼?/p>
2
ï¼?/p>
MOV [BX]
ï¼?/p>
[1000]
;错,存储器之不能交æ�?/p>
ï¼?/p>
3
ï¼?/p>
XCHG BX
ï¼?/p>
IP
;错ï¼?/p>
IP
不能参与交换
ï¼?/p>
4
ï¼?/p>
PUSH CS
ï¼?/p>
5
ï¼?/p>
POP CS
;错,不能将数据弹到
CS
�/p>
ï¼?/p>
6
ï¼?/p>
IN BX
ï¼?/p>
DX
;输å…?/p>
/
输出只能通过
AL/AX
ï¼?/p>
7
ï¼?/p>
MOV BYTE[BX]
ï¼?/p>
1000
ï¼?/p>
1000
大于
255
,不能装入字节单å…?/p>
ï¼?/p>
8
ï¼?/p>
MOV CS
ï¼?/p>
[1000]
ï¼?/p>
CS
不能作为目标寄存å™?/p>
ï¼?/p>
9
ï¼?/p>
MOV BX
ï¼?/p>
OFFSET VAR[SI]
ï¼?/p>
OFFSET
只能取变量的偏移地址
ï¼?/p>
10
ï¼?/p>
MOV AX
ï¼?/p>
[SI][DI]
ï¼?/p>
SI
�/p>
DI
不能成为基址加变址
ï¼?/p>
11
ï¼?/p>
MOV COUNT[BX][SI]
ï¼?/p>
ES
ï¼?/p>
AX
ï¼?/p>
AX
是寄存器,不能加段前缀
3
ï¼?/p>
7
设当å‰?/p>
SS=2010H
ï¼?/p>
SP=FE00H
ï¼?/p>
BX=3457H
,计算当前栈顶的地址为多少?当执è¡?/p>
PUSH BX
指令后,栈顶地址和栈é¡?/p>
2
个字节的内容分别是什么?
当前栈顶的地址
=2FF00H
当执è¡?/p>
PUSH BX
指令后,栈顶地址
=2FEFEH
ï¼?/p>
2FEFEH
ï¼?/p>
=57H
ï¼?/p>
2FEFFH
ï¼?/p>
=34H
3
ï¼?/p>
8
è®?/p>
DX=78C5H
ï¼?/p>
CL=5
ï¼?/p>
CF=1
,确定下列各条指令执行后ï¼?/p>
DX
å’?/p>
CF
中的值ã€?/p>
ï¼?/p>
1
ï¼?/p>
SHR DX
ï¼?/p>
1
ï¼?/p>
DX=3C62H CF=1
ï¼?/p>
2
ï¼?/p>
SAR DX
ï¼?/p>
CL
ï¼?/p>
DX=03C6H CF=0
ï¼?/p>
3
ï¼?/p>
SHL DX
ï¼?/p>
CL
ï¼?/p>
DX=18A0H CF=1
ï¼?/p>
4
ï¼?/p>
ROR DX
ï¼?/p>
CL
ï¼?/p>
DX=2BC6H CF=0
ï¼?/p>
5
ï¼?/p>
RCL DX
ï¼?/p>
CL
ï¼?/p>
DX=18B7H CF=1
ï¼?/p>
6
ï¼?/p>
RCR DH
ï¼?/p>
1
ï¼?/p>
DX=BCC5H CF=0
ï¼?/p>
3
ï¼?/p>
9
è®?/p>
AX=0A69H
ï¼?/p>
VALUE
字变量中存放的内容为
1927H
,写出下列各条指令执行后å¯?/p>
存器å’?/p>
CF
�/p>
ZF
�/p>
OF
�/p>
SF
�/p>
PF
的值ã€?/p>
AX CF ZF OF SF PF
ï¼?/p>
1
ï¼?/p>
XOR AX
ï¼?/p>
VALUE
ï¼?/p>
134EH 0 0 0 0 1
ï¼?/p>
2
ï¼?/p>
AND AX
ï¼?/p>
VALUE
ï¼?/p>
0821H 0 0 0 0 1
ï¼?/p>
3
ï¼?/p>
SUB AX
ï¼?/p>
VALUE
ï¼?/p>
F142H 1 0 0 1 1
ï¼?/p>
4
ï¼?/p>
CMP AX
ï¼?/p>
VALUE
ï¼?/p>
0A69H 1 0 0 1 1
ï¼?/p>
5
ï¼?/p>
NOT AX
ï¼?/p>
F596H X X X X X
ï¼?/p>
6
ï¼?/p>
TEST AX
ï¼?/p>
VALUE
ï¼?/p>
0A69H 0 0 0 0 1