1、
操作码、操作数
2、
提供的是偏移地址;物理地址=偏移地址+程序段基址
3、
答:立即寻址是指指令所需的操作数直接存放在指令中,即指令的操作数字段就是真正的操作数。
直接寻址是在指令中直接给出操作数所在的内存单元的段内偏移量。
寄存器寻址是指操作数存放在寄存器中,指令的操作数字段指出使用的寄存器。
寄存器间接寻址是指寄存器内存放的是操作数的地址,而不是操作数本身,即操作数是通过寄存器间接得到的。
4、
(1)MOV AX,420H 立即数寻址
(2)MOV [BX],SI 基址寻址
(3)MOV AX,[90] 直接寻址
(4)MOV [DI+90],AH 变址寻址
(5)MOV AL,[BP+SI+20] 基址变址寻址
5、
DS DS ES SS
6、
(1)MOV AX,[2345H] 2345H
(2)MOV AX,[BX] 2010H
(3)MOV AX,ES:[DI+200] 00B8H------------100B8H(溢出)
(4)MOV AX,DS:[BP+DI] 0410H----------------10410H(溢出)
MOV AX,[BX+DI+114H] 2114H---------------12114H(溢出)
7、
8、
是通过寄存器SS和SP组织的,当SP的值小于零时说明栈空,当SP 的值为FFFFH时栈满。
9、
10、LEA CX, [BX+SI]
11、
BX=40ABH 没有变化
BL=47H CF;OF;ZF;SF=1;1;0;1
AL=E5H 没有变化
AX=1111 1111 1110 0101B 标志位不变
BH=25H OF:SF:ZF:CF=0:0:0:1
BX=2561H OF:SF:ZF:CF=0:0:0:1
AX=6H OF:SF:ZF:CF=0:0:0:1
BH=2EH OF:SF:ZF:CF=0:0:0:1
12 、
操作数之一和结果都放在固定的寄存器中进行寻址13、
MOV AL,DL
MUL DL
MUL DL
MUL DL
14、
(1)AND DH,11111000B
MOV BH,DH
(2)OR DI,11111000 00000000B
(3)OR AX,1110 0000 0000 0000B
XOR AX,0000 0011 1000 0000B
AND AX,1111 1111 1111 1000B
(4)TEST BX,0010 0100 0100 0000B
(5)NOT CX
TEST 0100 00100 0001 0000B
(6)NOT AX
TEST AX,2205H
(7)TEST DX,4812H
答:(1) AND DH,0F8H
MOV BH,0DH
(2) OR DI,0F800H
(3) OR AL ,0F
XOR AL,80H
AND AH,1FH
XOR AH,03H
(4) TEST BX,0224H
若ZF=0,则有1存在,否则不存在
(5) AND CX,0842H
XOR CX,0842H
TEST CX,0842H
若ZF=1,则全为1
(6) AND AX,2205H
XOR AX,2205H
TEST AX,2205H
(7) TEST DX,4812H
16、
mov ax,40
shl ax,1
mov ax,40
sar ax,1
mov ax,-49
shl ax,1
mov ax,-49
sar ax,1
17、
(1)cl赋值为4
(2)dx向左逻辑移[cl]位
(3)将ah移动到bl中
(4)将ax逻辑左移[cl]位
(5)将bl逻辑左移[cl]位
(6)dl与bl取或
最终实现功能为:取dx的低四位和ax的高四位,组成一个新的八位数字
18、
DF用于串指令过程中,控制地址的增加或者降低,DF=1时降低,DF=0时增加。
分别用CLD和STD指令消除该标志位。
19、
Mov ds,0b00h
Mov bx,0
Mov ax,ffffh
Mov dx,ffffh
Mov [bx],ax
Add bx,2
Mov [bx],dx
20、
段内转移是指转移前的指令地址跟转移后的指令地址在同一个指令段中;段间转移是指转移前后的指令分别属于不同的指令段。
段内转移只需要改变IP寄存器,段间转移需要同时改变CS和IP 寄存器。
21、
通过比较从而对标志寄存器的特定位进行赋值,或者用固定的寄存器例如CX确定。
如:
Cmp ax,0
Jge done
通过比较ax是否大于0,产生标志位,从而确定是否转移到done
22、
(1)cmp dx,cx
Ja exceed
(2)cmp bx,ax
Jg exceed
(3)cmp cx,0
Jz zero
(4)cmp bx,ax
Jl overflow
(5)cmp bx.ax
Jle notbig
23、
Mov ds,0b00h
Mov cx,100
Mov bx,0
L1:Mov ax,[bx]
Add ax,1
Mov [bx],ax
Add bx,4
Loop L1
24、
段内转移只需要保存IP寄存器和相应数据寄存器,段间转移需要同时保存CS和IP寄存器及相应数据寄存器。
25、
……
Jmp sub1
Sub2:
…
Sub1: ….. Jmp sub2。