汇编语言笔记(整数算术指令)
SHL(shitf left)指令对目的操作数执行逻辑左移操作,最低位以0填充,移出的最高位送入进位标志位(CF)原来进位标志中的值丢失。
SHR对目的操作数执行逻辑右移操作,移出的数据位以0代替,最低位被复制到进位标志中,原来的进位标志位丢失
SAL和SAR指令与SHL指令等价
ROL指令向左移动一位,把最高位同时复制到进位标志位和最低位中。
ROR指令向右移动一位,把最低位同时复制到进位标志位和最高位中
RCL(rotate)指令在每位移动一位后,把进位标志位复制到最低有效为中,把最高有效位复制到进位标志位中。
SHLD指令把操作数右移指定的位数,空出来的位由源操作数的地位来填充,
SHLD 目的操作数 源操作数 移位位数
MUL 无符号数相乘、
CBW指令扩展AL符号至AH中
CWD指令扩展AX的符号位到DX中
CDQ扩展EAX的符号到EDX中
IDIV(有符号数除法)指令进行有符号整数的除法运算,使用的操作数格式与DIV指令相同,在进行8位除法之前,被除数AX必须进行符号扩展,余数的符号和被除数总是相同的。
ADC指令把源操作数、目的操作数、进位标志位相加,8位整数相加的结果放在DL:AL中
AAA 加法后进行ASCII调整
AAS减法后进行ASCII调整
AAM乘法后进行ASCII调整
AAD除法后进行ASCII调整
DAA和DAS压缩十进制每个字节存储两个十进制数字