1.乘法
共有三条:无符号数MUL,带符号数IMUL,ASCII调整AAM
1.1 MUL
MUL src
可以进行字节操作和字操作。操作数必须等长。
字节:(AX)<---(src)*(AL)
字:(DX:AX)<---(src)*(AX)
对CF(进位借位标志)和OF(溢出标志位)有影响。操作数AL和AX是隐含的。
乘2的n次方可以用左移n位实现。速度更快-->移位指令
1.2IMUL
IMUL src
带符号数乘法:字节:(AX)<---(src)*(AL)字:(DX:AX)<---(src)*(AX)
和MUL一样,一个操作数是隐含的AL或者AX,另一个操作数一定是在寄存器或者存储器中。
1.3AAM
ASCII调整指令。后不带操作数,隐含寄存器操作数AL和AH。调整不压缩的BCD码。
AX中得到正确结果,高位在AH,低位在AL。
具体操作:AL➗0AH商送AH,余数送AL。 P75例题
2.除法
无符号数除法DIV,带符号数除法IDIV,除法的ASCII调整指令。
2.1DIV
DIV src
隐含的被除数是AX或者(DX:AX)。即被除数是除数的二倍长度,不允许等长。
字节除法:AX➗src,商送AL,余数送AH。
字除法:(DX:AX)➗src,商送AX,余数送DX。
除以2的n次方可以用右移n位实现。速度更快-->移位指令
2.2IDIV
与DIV唯一的区别就是操作对象