本帖最后由 极限度—魔 于 2012-8-4 13:56 编辑
A
C
D
E
H
L
N
M
O
P
R
S
T
W
X
A
ADD
加法指令 ADD(Addition)
格式: ADD OPRD1,OPRD2
功能: 两数相加
说明:
1. OPRD1为任一通用寄存器或存储器操作数,可以是任意一个通用寄存器,而且还可以是任意一个存储器操作数.
OPRD2为立即数,也可以是任意一个通用寄存器操作数.立即数只能用于源操作数.
2. OPRD1和OPRD2均为寄存器是允许的,一个为寄存器而另一个为存储器也是允许的, 但不允许两个都是存储器操作数.
3. 加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有影响.以上标志也称为结果标志.加法指令适用于无符号数或有符号数的加法运算.
====================================================================
ADC
带进位加法指令 ADC(Addition Carry)
格式: ADC OPRD1,OPRD2
功能: OPRD1<--OPRD1 + OPRD2 + CF
说明:
1. OPRD1为任一通用寄存器或存储器操作数,可以是任意一个通用寄存器,而且还可以是任意一个存储器操作数.
OPRD2为立即数,也可以是任意一个通用寄存器操作数.立即数只能用于源操作数.
2. OPRD1和OPRD2均为寄存器是允许的,一个为寄存器而另一个为存储器也是允许的,但不允许两个都是存储器操作数.
3. 加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有影响.以上标志也称为结果标志.
4. 该指令对标志位的影响同ADD指令.
====================================================================
AAA
未组合的十进制加法调整指令 AAA(ASCII Adgust for Addition)
格式: AAA
功能: 对两个组合的十进制数相加运算(存在AL中)的结果进行调整,产生一个未组合的十进制数放在AX中.
说明:
1. 组合的十进制数和未组合的十进制数:在计算中,十进制数可用四位二进制数编码,称为BCD码.
当一个节(8位)中存放一位BCD码,且放在字节的低4位, 高4位为时称为未组合的BCD码.
2. AAA的调整操作
若(AL) and 0FH>9 或 AF=1,则调整如下:
(AL)<--(AL)+6,(AH)<--(AH)+1,AF=1,CF<--AF,(AL)<--(AL) and 0FH
====================================================================
AAS
未组合十进制减法调整指令 AAS(ASCII Adjust for Subtraction)
格式: AAS
功能: 对两个未组合十进制数相减后存于AL中的结果进行调整,调整后产生一个未组合的十进制数数且仍存于AL中.
说明:
1. 本指令影响标志位CF及AF.
2. 调整操作
若(AL) and 0FH > 9 或 AF=1
则(AL)<--(AL)-6,(AH)<--(AH)-1,CF<--AF,(AL)<--(AL) and 0FH,
否则(AL)<--(AL) and 0FH
====================================================================
AAM
未组合十进制数乘法调整指令 AAM(ASCII Adjust MULtiply)
格式: AAM
功能: 对两个未组合的十进制数相乘后存于AX中的结果进行调整,产生一个未组合的十进制数存在AL中.
说明:
1. 实际上是两个未组合的十进制数字节相乘,一个0~9的数与另一个0~9的数相乘其积最大为81.为了得到正确的结果,应进行如下调整:
乘积: (AH)<--(AL)/10
(AL)<--(AL)MOD10
2. 本指令应跟在MUL指令后使用,乘积的两位十进制结果,高位放在AH中,低位放在AL中.AH内容是MUL指令的结果被10除的商,即(AL)/10,而最后的AL内容是乘积被10整除的余数(即个位数).
====================================================================
AAD
未组合十进制数除法调整指令 AAD(ASCII Adjust for Division)
格式: AAD
功能: 在除法指令前对AX中的两个未组合十进制数进行调整,以便能用DIV指令实现两个未组合的十进制数的除法运算,其结果为未组合的十进制数,商(在AL中)和余数(在AH中).
说明:
1. AAD指令是在执行除法DIV之前使用的,以便得到二进制结果存于AL中,然后除以OPRD,得到的商在AL中,余数在AH中.
2. 示例: MOV BL,5
MOV AX,0308H
AAD ;(AL)<--1EH+08H=26H,(AH)<--0
DIV BL ;商=07H-->(AL),余数=03H-->(AH).
====================================================================
AND
逻辑与运算指令 AND
格式: AND OPRD1,OPRD2
功能: 对两个操作数实现按位逻辑与运算,结果送至目的操作数.本指令可以进行字节或字的‘与’运算,
说明:
1. 目的操作数OPRD1为任一通用寄存器或存储器操作数.源操作数OPRD2为立即数,任一通用寄存器或存储器操作数.
2. 示例: AND AL,0FH ;(AL)<--(AL) AND 0FH
AND AX,BX ;(AX)<--(AX) AND (BX)
AND DX,BUFFER[SI+BX]
AND BETA[BX],00FFH
注意: 两数相与,有一个数假则值为假 |