assembly - 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?
解决方案
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 = 53
and BL = 51
,MUL BL
(将它们相乘)留下 53 * 51 = 2703 in AX
。
这转化为AH = 10
和AL = 143
因为AX = AH * 256 + AL
。
应用AAM
然后产生AH = 143 \ 10 = 14
和AL = 143 % 10 = 3
。
尽管是这样设计的,但AAM
指令的使用并不限于未打包的 BCD。您可以将其用作 10 指令的一般除法!AL
当然只有股息。
推荐阅读
- google-apps-script - 不受时间限制地运行 Google 电子表格宏
- laravel - 来自不同文件夹的 Laravel 视图
- scala - 即使设置了配置值,EmbeddedKafka 也会抛出 RecordTooLargeException
- jquery - 带有工具提示的 Jquery Ui 范围滑块不采用最小值 0
- unicode - 我们如何通过加密字符串识别 ASCII 或 Unicode 编码?
- vuepress - 链接到 Vuepress 中的资产
- javascript - Angular:获取文本框onclick按钮的值
- java - 可调用对象的执行顺序不一致
- api - Telegram Bot - 发送信息消息
- gerrit - 如何更改gerrit查询的限制数量