问题 汇编:无效的有效地址


我是汇编的新手(你可以清楚地看到),我正在尝试编译以下内容:

hex_charmap db '0123456789ABCDE'
mov   al, [hex_charmap + ax]

但是我在第2行遇到以下错误:

错误:无效的有效地址

这是什么意思,我该如何解决?


11832
2017-11-25 15:38


起源



答案:


我的装配工生锈了。 AX真的可以用作索引寄存器吗?

更新

刚找到我要找的东西。 只有BX可以用作索引寄存器!

请参阅此链接以了解其他类似问题及其类似说明:

无效的有效地址计算


15
2017-11-25 15:40



为什么只是这样 BX 可以用作索引寄存器吗? - Sam Holmes
从本质上讲,这就是英特尔设计其指令集的方式。使所有寄存器全面均衡将需要更多电路,增加成本,使芯片更慢且效率更低,等等。其他处理器的设计不同,但不是这一个。 - Carl Smotricz


答案:


我的装配工生锈了。 AX真的可以用作索引寄存器吗?

更新

刚找到我要找的东西。 只有BX可以用作索引寄存器!

请参阅此链接以了解其他类似问题及其类似说明:

无效的有效地址计算


15
2017-11-25 15:40



为什么只是这样 BX 可以用作索引寄存器吗? - Sam Holmes
从本质上讲,这就是英特尔设计其指令集的方式。使所有寄存器全面均衡将需要更多电路,增加成本,使芯片更慢且效率更低,等等。其他处理器的设计不同,但不是这一个。 - Carl Smotricz