我正在使用 DosBox 模拟器学习 x86 的汇编。我正在尝试执行乘法。我不明白它是如何工作的。当我编写以下代码时:
mov al, 3
mul 2
我得到一个错误。虽然,在我使用的参考文献中,它以乘法表示,它假设 AX 始终是占位符,因此,如果我写:
mul, 2
它将al
值乘以 2。但它不适用于我。
当我尝试以下操作时:
mov al, 3
mul al,2
int 3
我在 ax 中得到结果 9。请参阅此图片以进行说明:
另一个问题:我可以直接使用内存位置进行乘法吗?例子:
mov si,100
mul [si],5