首页 > 解决方案 > AAM Instruction in EMU8086

问题描述

What is the mechanism of AAM instruction in assembly language?
Suppose:

MOV AL,35H
MOV BL,33H
MUL BL
AAM

Here how AAM works?

标签: assemblyx86-16emu8086

解决方案


MOV AL,35H   ; This is 53 in decimal
MOV BL,33H   ; This is 51 in decimal
MUL BL
AAM

AAM指令将AL寄存器除以 10,将商留在 中AH,余数留在 中AL

由于AAM仅取决于 中的值AL,因此您需要先计算出它的值。

鉴于AL = 53and BL = 51MUL BL(将它们相乘)留下 53 * 51 = 2703 in AX
这转化为AH = 10AL = 143因为AX = AH * 256 + AL

应用AAM然后产生AH = 143 \ 10 = 14AL = 143 % 10 = 3

尽管是这样设计的,但AAM指令的使用并不限于未打包的 BCD。您可以将其用作 10 指令的一般除法!AL当然只有股息。


推荐阅读