- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题 CH3 寻址方式和指令系统
计算机的指令通常包含 操作码 和 操作数 两部分。
设SP为0100H,SS为1000H,则执行PUSH AX 后,
00FE H,SS= 1000 H。 8086系统中,栈底在堆栈的 最高地址 (最高地址端、 最低地址端)。
如果VAL为数据段中0056H单元的符号名,其中存放
16
习题 CH3 寻址方式和指令系统
(6)MOV [SI],[BX] 源、目的操作数不能同时为存储单元 (7)MOV DS,0200H 立即数不能直接送给段寄存器 (8)IN BL,05H BL不能作为IN指令的目的操作数 (9)MOV AX,IP IP不能作为操作数 (10)MOV SI,[DX] DX不能进行寄存器间接寻址 (11)PUSH AL PUSH指令以字为操作单位
用单条指令或程序片段,实现下述功能
(1)将AX高8位取反,低四位置1,其余位不变。
XOR AX, 0FF00H
OR AX, 0FH (2)将AL的高四位与低四位互换。 MOV CL, 4 ROL AL, CL
(3)将BX、AX内容互换。
XCHG AX, BX
12
习题 CH3 寻址方式和指令系统
[BP+SI+4]源操作数的有效地址为
地址为 数的有效地址为
,物理 0214H 24514H 。指令MOV AX,[DI+100H]源操作
0306H,物理地址
为 24306H 。 设AX=2000H,BX=2002H,则在执行了指令CMP AX,
BX后,标志位CF为
1 , AX=
。 2000H
基址变址寻址
(5)MOV AX,10[BX][DI] 相对基址变址寻址
14
习题 CH3 寻址方式和指令系统
(6)MOV AX,10[SI] 寄存器相对寻址 (7)MOV AX,[DI] 寄存器间接寻址 (8)JMP BX 段内间接寻址 (9)IN AL,23H 直接端口寻址 (10)IN AL,DX 间接端口寻址
D 。 A.溢出标志
B.符号标志
C.零标志
D.方向标志
10
习题 CH3 寻址方式和指令系统
设AX=0ABDFH,则在执行指令“AND AX,0001H”后,
AX寄存器的内容为: C
。
A.ABDEH
B.FFFFH
C.0001H
D.0000H
在堆栈内,有效地址为2500H到2505H单元内依次存放
A.CF=0,PF=0
C.CF=0,PF=1
B.CF=1,PF=0
D.CF=1,PF=1
9
习题 CH3 寻址方式和指_条。 C
CMP AL,AL ; SUB AL,AL ;
XOR AL,AL ; MOV AL,0
A.1 是 B.2 C.3 D.4
CPU执行算术运算指令一定不会影响的标志位
6
习题 CH3 寻址方式和指令系统
下列8086指令中,对AX的结果与其他三条指令不
同的是 D
。
A.MOV AX,0
C.SUB AX,AX
假设VAR为变量,MOV
B.XOR AX,AX
D.OR AX,0
BX,OFFSET VAR的寻址方
式是: C 。 A.直接寻址 C.立即寻址
B.间接寻址 D.存储器寻址
7
习题 CH3 寻址方式和指令系统
基址加变址的寻址方式中,基址寄存器是指 1. ,
变址寄存器是指 2.,如执行指令MOV AX, B A [BX+SI+2]后,源操作数的地址位移量EA为 3 , 其实际物理地址4.。 D B 1.A.AX B.BX C.CX D.SI 2.A.SI B.AX C.BX D.DX 3.A.EA=AX+BX+2 B.EA=BX+SI+2 C.EA=AX+SI+2 D.EA=BX+SI 4.A.SS+EA B.ES*10H+EA C.CS+EA*10H D.DS*10H+EA
15
习题 CH3 寻址方式和指令系统
指出下列指令的错误
(1)MOV AH,BX 源、目的操作数长度不一致 (2)ADD 15H,BX 立即数不能作为目的操作数 (3)MOV CS,AX CS不能作为目的操作数 (4)MOV AX,[SI][DI] SI、DI不能同时出现在一个[]内 (5)MOV BYTE PTR[BX],1000 源、目的操作数长度不一致
17
用BX的寄存器间接寻址 用BX的寄存器相对寻址
32000 H 36000 H
。 。
用BP和SI的基址+变址寻址 45000 H
用BX和SI的基址+变址且相对寻址 38000 H
。
。
4
习题 CH3 寻址方式和指令系统
已知8086-CPU寄存器的内容如下: AX=0123H,BX=1234H, CX=4567H,DX=9ABCH,DS=2300H, SS=3000H,ES=2800H, DI=1F00H,SP=1000H,BP=0010H,SI=0000H,写出下列过程每 条指令执行后,有关寄存器和内存单元的内容。(5分) (注:无变化的不要标出,内存单元地址用逻辑地址表示)。 LLL PROC FAR MOV WORD PTR [BP],23H (3000:0010H)=0023H PUSH CX SP-2→SP, SP=0FFEH,(3000:0FFE)=4567H MOV [DI+2800H],DX (2300:4700H)= 9ABCH PUSH BX SP-2→SP, SP=0FFCH,(3000:0FFC)=1234H RET IP=1234H,CS=4567H, SP=1000H LLL EDNP
10H、20H、30H、40H、50H、60H六个数,已知
SP=2502H,执行POP BX指令后,有 B
A.SP=2502H,BX=1020H
。
B.SP=2504H,BX=4030H
C.SP=2504H,BX=3040H D.SP=2500H,BX=2010H
11
习题 CH3 寻址方式和指令系统
该指令之前将相应的端口地址送入 DX 器中。
寄存
3
习题 CH3 寻址方式和指令系统
转移指令的寻址主要为CPU提
供 转移地址 或 新的程序入口地址 。 已知当前CPU各寄存器和有关内容,BX=1000H, SI=2000H,BP=3000H,SS=4000H,位移量=4000H, DS=3100H,写出下列寻址方式形成的物理地址。
5
习题 CH3 寻址方式和指令系统
下列指令中,不合法的指令是: A
。
A.PUSH BL
B.ADD
BX,[DI]
C.INT 21H
指令是: C 。
D.IN
AX,09H
完成将AX清零,并使标志位CF清零,下面错误的
A.SUB AX,AX B.XOR AX,AX
C.MOV AX,00H
D.AND AX,00H
8
习题 CH3 寻址方式和指令系统
设(AX)=1000H,(BX)=2000H,则在执行了
指令“SUB AX,BX”后,标志位CF和ZF的值分别
为: C
A.0,0 0
。
B.0,1 D.1,1 C.1,
已知CF=0,PF=0,AX=0FFFFH,则执行语句INC
C AX后,标志位情况为________。
SP=
的内容为0FF2H,当执行指令: ; 0FF2H 而执行: LEA BX,VAL后,则BX= 0056H 。
1
MOV BX,VAL后,BX=
习题 CH3 寻址方式和指令系统
设CS=2500H,DS=2400H,SS=2430H,ES=2520H,
BP=0200H,SI=0010H,DI=0206H则:指令MOV AX,
堆栈存储区由哪两个寄存器管理?简述数据压栈
和弹栈的过程。
输入输出的寻址方式有哪几种?举例说明
直接端口寻址: 间接端口寻址:
IN IN
AL, 30H AL,DX
MOV DX,0200H
13
习题 CH3 寻址方式和指令系统
分别指出下列指令中的源操作数的寻址方式。
直接寻址
(1)MOV CX,[300H] (2)MOV [BP][DI],300H 立即寻址 (3)MOV AX,BX 寄存器寻址 (4)MOV AX,[BP+DI]
2
习题 CH3 寻址方式和指令系统
执行指令“XOR AX,AX”后,标志位ZF的值
为
1
。
若AL=10011000B,BL=01100111B,则执行指令
0FFH ;执行指令“AND “ADD AL,BL”后,AL=
AL,BL”后,AL= 00H 。
在使用8086间接输入/输出指令时,必须在执行