指令系统
按功能分为:
数据传送指令
算术运算指令
位处理指令(逻辑运算指令)
串操作指令
控制转移指令
处理机控制指令
二、算术运算指令—加法指令
1、ADD 指令
格式:ADD dest , src
功能: (dest) (dest)+(src)
例如:
ADD AX,BX
ADD CL,[SI]
ADD CL,AL
ADD DX,ES
ADD AL,30H
ADD BYTE PTR [DI],12H
AX,BX
CX,DX
SI,DI
BP,SP
AH,AL
CH,CL
DH,DL
BH,BL
DS,ES,SS
内存
立即数
影响标志位OF SF ZF AF CF
CF——表示无符号数相加的溢出。
OF——表示带符号数相加的溢出。
AF——BCD数运算的调整指令中,该位和CF位会影响是否对低、高4位进行调整
1 结果为负
0 否则
SF=
1 结果为0
0 否则
ZF=
1 和的最高位向高位有进位
0 否则
CF=
1 两个操作数符号相同,而结果符号与之相反
0 否则
OF=
ADD 指令对标志位 SF ZF CF OF AF
1 D3产生进位
0 否则
AF=
无符号数溢出
0 0 0 0 0 1 1 1
+ 1 1 1 1 1 0 1 1
0 0 0 0 0 0 1 0
有:(+7)+(-5)=+2 OF=0
无:7+251=2 CF=1
有符号数和无符号数都不溢出
0 0 0 0 0 1 0 0
+ 0 0 0 0 1 0 1 1
0 0 0 0 1 1 1 1
有:(+4)+(+11)=+15 OF=0
无:4+11=15 CF=0
有符号数溢出
0 0 0 0 1 0 0 1
+ 0 1 1 1 1 1 0 0
1 0 0 0 0 1 0 1
有:(+9)+(+124)=-123 OF=1
无:9+124=133 CF=0
有符号数和无符号数都溢出
1 0 0 0 0 1 1 1
+ 1 1 1 1 0 1 0 1
0 1 1 1 1 1 0 0
有:(-121)+(-11)=+124 OF=1
无:135+245=124 CF=1
n=8bit 带符号数(-128~127) 无符号数(0~255)
有符号数溢出:OF=最高位进位异或次高位进位
二、算术运算指令—加法指令
2、ADC 指令
格式:ADC dest , src
功能: (dest) (dest)+(src)+CF
例如:
ADC AX,BX
ADC CL,[SI]
ADC CL,AL
ADC DX,ES
AX,BX
CX,DX
SI,DI
BP,SP
AH,AL
CH,CL
DH,DL
BH,BL
DS,ES,SS
内存
立即数
ADD、ADC影响标志位
OF SF ZF AF CF
INC 不影响CF
INC 3
3、INC 指令
格式:INC dest
功能: (dest) (dest) + 1
例如:INC CX
例:双字数据的加法
(DX)= 0002H (AX)= 0F365H (BX)= 0005H (CX)= 0E024H
(DX):(AX)=0002H:F365H 与(BX):(CX) =0005H:E024H 相加
即是:(DX):(AX) + (BX):(CX)= (DX):(AX)
2F365H+5E024H=8D389H
(1)执行后
(AX)= 0D389H CF=1 OF=0
SF=1 ZF=0
AX
F 3 6 5 H
CX
E 0 2 4 H
ADD
AX
D 3 8 9 H
CF←1
指令序列(1) ADD AX, CX
(2) ADC DX, BX
DX
0 0 0 2 H
BX
0 0 0 5 H
ADC
DX
0 0 0 8 H
CF←0
CF=1
(2) 执行后
(DX)= 0008H CF=0 OF=0
SF=0 ZF=0
DEBUG演示
二、算术运算指令—减法指令
4、SUB 指令
格式:SUB dest , src
功能:(dest) (dest)- (src)
(注意操作顺序)
例如:
SUB AX,BX
SUB CL,[SI]
SUB DX,ES
SUB BP,78H
SUB [SI],BYTE PTR 64H
AX,BX
CX,DX
SI,DI
BP,SP
AH,AL
CH,CL
DH,DL
BH,BL
DS,ES,SS
内存
立即数
影响标志位OF SF ZF AF CF
二、算术运算指令—减法指令
5、SBB 指令
格式:SBB dest , src
功能:(de
第二章48086指令系统算数运算 来自淘豆网m.daumloan.com转载请标明出处.