我是汇编语言的初学者,到目前为止我了解很多东西,但是很多天我都停留在一个部分,这让我感到困惑,最糟糕的是,通过我在互联网上访问的许多页面,信息再次被扭曲,这部分是寻址模式特别是内存引用,例如在汇编语言中的寻址模式(IA-32 NASM)中
两条指令似乎相同,但评论不同
- mov esi, var :将 var 的地址(比如 0x0040120e)复制到 esi
- mov dword [eax], var1 : 将 var1 中的值复制到
eax 指定的内存槽中
两条指令都处理 var 或 var1 ,它们是标签,但在评论中提到它是复制内容,而另一个是复制地址。
所以另一个问题我问这个指令的cooment是什么:
- mov bx, [var]
以及这些指令之间的区别是什么
- mov [var], bx - 如果 var 是一个数组,如果不是它与下一条指令的区别,这是否仅适用
- mov var, bx
- lea eax, [var] — var 中的值放在 EAX 中。这里是平均值
- LEA EBX, [MY_TABLE]这里是它的平均有效地址
所以我需要知道有什么区别,是否有一个我可以从中读取的置信来源并确保它是正确的,顺便说一下我正在使用本教程,以及 NASM 作为 Windows 下的汇编程序。