NASM给出的错误(尽管我的工作操作系统)是"无效的有效地址".
现在我已经看到很多关于如何使用LEA的例子,我认为我做对了但是我的NASM不喜欢它.我尝试过lea cx, [cx+9]它有效; lea cx, [bx+cx]没有.
lea cx, [cx+9]
lea cx, [bx+cx]
现在,如果我将寄存器扩展到32位(即lea ecx, [ecx*8+ecx]),一切都会很好,但我只能使用16位和8位寄存器.
lea ecx, [ecx*8+ecx]
在这里有这么知识渊博的人谁可以解释我为什么我的汇编程序不让我按照我认为应该使用的方式使用lea?
x86 assembly nasm 16-bit
16-bit ×1
assembly ×1
nasm ×1
x86 ×1