4.除法指令 D无符号数除法指令 IDV带符号数除法指令 LDI无符号数除法指令 格式: DIVOPS 若OPS为字节类型,则: AOPS的商→AL AXJOPS的余数→AH 若OPS为字类型,则: DX: AX/OPS的商→AXDX: AX/OPS的余数→→DX 若OPS为双字类型,则: EDX: EAX/OPS的商→ EAXEDX: EAX/OPS的余数 →EDX 以上几种形式商和余数均为无符号数
4.除法指令 DIV无符号数除法指令 IDIV带符号数除法指令 1)DIV无符号数除法指令 格式:DIVOPS 若OPS为字节类型,则: AX/OPS的商→AL AX/OPS的余数→AH 若OPS为字类型,则: DX:AX/OPS的商→AXDX:AX/OPS的余数→DX 若OPS为双字类型,则: EDX:EAX/OPS的商→EAXEDX:EAX/OPS的余数 →EDX 以上几种形式商和余数均为无符号数
2)IDV带符号数除法指令 格式: IDIVOPS 执行的操作:与DIV相同,但操作数必须是带 数,商和余数也都是带符号数,且余 数的符号和被除数的符号相同 领如: IDIVBL 若指令执行前AX=0400H,BL=0B4H。 则指令执行后AL=0F3H(商),AH=24H (余数)
2)IDIV带符号数除法指令 格式:IDIVOPS 执行的操作:与DIV相同,但操作数必须是带 符号数,商和余数也都是带符号数,且余 数的符号和被除数的符号相同。 例如:IDIVBL 若指令执行前AX=0400H,BL=0B4H。 则指令执行后AL=0F3H(商),AH=24H (余数)
6.调整指令 1DA加法的压缩BCD码十进制调整指令 格式:DAA 这条指令之前必须执行ADD或ADC指令。加 泆指令必须把两个压缩BCD码相加,并把相 川结果存放在AL寄存器中 如果AF标志(辅助进位位)为1,或者AL寄存 器的低4位是16进制的A~F中的任意一位数, 则AL寄存器内容加06H修正,且将A位置1
6.调整指令 1)DAA加法的压缩BCD码十进制调整指令 格式:DAA 这条指令之前必须执行ADD或ADC指令。加 法指令必须把两个压缩BCD码相加,并把相 加结果存放在AL寄存器中。 如果AF标志(辅助进位位)为1,或者AL寄存 器的低4位是16进制的A~F中的任意一位数, 则AL 寄存器内容加06H修正,且将AF位置1;
2)DAS减法的压缩BCD码十进制调整指令 格式:DAS 执行的操作:把A中的两个压缩BCD码之差调整成 宿BCD的格式→AL 应该注意的是,在执行这条指令之前,必须先执 SUB或SBB指 如果AF标志为1,或者A寄存器的低4位是16进制的 AF中的任意一位数,则AL寄存器的内容减06H, 将AF位置1; 如果CF标志为1,或者AL寄存器的高4位是16进制的 A~F中的任意一位数,则AL寄存器内容减60H, 并将CF位置1 如果AL寄存器的高4位和低4位都满足以上条件,则 将AL奇存器的内容减66H
2)DAS减法的压缩BCD码十进制调整指令 格式:DAS 执行的操作:把AL中的两个压缩BCD码之差调整成 压缩BCD码的格式→AL。 应该注意的是,在执行这条指令之前,必须先执行 SUB或SBB指令。 如果AF标志为1,或者AL寄存器的低4位是16进制的 A~F中的任意一位数,则AL寄存器的内容减06H, 且将AF位置1; 如果CF标志为1,或者AL寄存器的高4位是16进制的 A~F中的任意一位数,则AL寄存器内容减60H, 并将CF位置1。 如果AL寄存器的高4位和低4位都满足以上条件,则 将AL寄存器的内容减66H
3)AAA加法的啡压缩BCD码调整指令 本指令的调整步骤是: ①如A寄存器的低4位在A~F之间或AF为1, 则AL寄存器的内容加06H,AH奇存器的内 容加1,并将AF位置1; ②清除AL寄存器的高4位; ③AF位的值送CF个
3)AAA加法的非压缩BCD码调整指令 本指令的调整步骤是: ①如AL寄存器的低4位在A~F之间或AF为1, 则AL寄存器的内容加06H,AH寄存器的内 容加1,并将AF位置1; ②清除AL寄存器的高4位; ③AF位的值送CF位