汇编语言除法 关于汇编语言中的除法指令?
关于汇编语言中的除法指令?
Div(unsigned divide)unsigned number division
格式:Div SRC
执行的运算:
字节运算:ax中的16位除数,源中的8位除数,Al中的8位商,ah中的8位余数。[al
!(DX
]),放在除法字中。其中DX是高位字,16位除数是源操作数,结果的16位结尾是ax,16位余数是DX。Express as
](AX)
(DX)
双字运算:EDX中的64位除数,eax,其中EDX是高双字,32位除数是源操作数,结果的32位商是eax,32位余数是EDX,Express as
(eax)
商和余数是无符号的。
IDIV signed division instruction
格式:IDIV SRC
执行与div相同的运算,但操作数必须有符号,商和余数也有符号,余数的符号与除数的符号相同
add(add)函数是将两个操作数相加,结果发送到目标操作数,而源操作数保持不变。两个操作数不能同时处于内存寻址模式。带进位加法(ADC)指令主要与加法指令结合使用,实现多字节加法。对操作数的要求与加法指令相同。计算结果对程序状态字(PSW)有影响。有四种寻址方式:直接寻址、直接寻址、寄存器寻址和寄存器间接寻址。扩展数据逻辑运算指令:这些指令用于执行算术和逻辑运算,包括加法指令add/ADC、减法指令sub/SBB、加法指令Inc、减法指令Dec;比较运算指令CMP、乘法指令mul/imul、除法指令div/IDIV、符号扩展指令CBW/CWDE/cdqe、十进制调整指令DAA/Das/AAA/AAS、逻辑运算not/and/or/XOR/test等
1。乘法:mul AB;(a)×(b),积的低8位在a,积的高8位在b;C总是0。
2. 除法:div AB;(a)/(b),a中的商,b中的余数。如果(b)=0,则结果是不确定的,(OV)=1,(c)=0。例如,试着将a中的二进制数转换成3位BCD码,其中百位存储在31h单元中,十位和一位被压缩并存储在30h单元中。Mov B,ා100 div AB Mov 31h,a Mov a,ා10 XCH a,B div AB swap a add a,B Mov 30h,a
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。