首页 > 解决方案 > 8086 程序集中的寻址在模拟器中无法正常工作

问题描述

这是我写的代码

PUSH BP
MOV BP,SP

MOV AX,2
MOV [BP-8+AX*3],7

当我在 emu8086 中模拟它时,我可以看到以下内容

在此处输入图像描述

您可以看到应该计算为 2 的地址,但这里计算为 18h。我尝试更改 AX 的值,但仍保持为 18h。所以经过几次试验,我了解到它完全忽略了 AX 并且正在计算 8 * 3 = 24 = 18h。这个 [BP-8+AX*3] 是一个有效的指令。为什么会发生这种奇怪的事情?

标签: assemblyx86-16emu8086

解决方案


推荐阅读