【发布时间】:2021-10-03 21:22:30
【问题描述】:
我在写ASM,实在不懂mov的规则,所以
mov rax, 100 ; it means that the number 100 is in rax?
mov rax, a ; it means that the value of a is in rax? or is the memory direction?
mov rax, [a] ; it means the value of a? or what?
mov [a], rax ; the direction of memori in a change to rax?
mov rax, rbx ; rbx is now rax?
对不起,如果我的问题很愚蠢,但我真的很困惑...... 谢谢
【问题讨论】:
-
mov rax, a的含义取决于您使用的是 NASM 还是 MASM 语法。 (该地址的地址或值)。不过,无论哪种方式,这是 Intel 语法,因此目标始终是最左边的操作数,因此您的最后一条评论是错误的。 (或描述rax = rbx的措辞不清楚)。但是,任何教程都应该解释这些基础知识,所以你可能应该继续阅读。一些教程链接可以在stackoverflow.com/tags/x86/info中找到 -
mov left, right始终表示left = right。唯一的问题是a与[a]的含义取决于汇编程序。 (假设寄存器名称和立即数很明显。)