我写了一个程序,它将在汇编中添加两个数字。当我对 进行系统调用时scanf(),指令如下所示:
mov rcx, num1
注意:我num1在本bss节中定义为:
num1 resb 10
而且,当我尝试移动这个值来rax说明指令看起来像:
mov rax, [num1]
据我所知,方括号内的任何内容都必须仅在rm32. 所以,更像是去内存位置而不是读取内存中的内容。
这个支架在这里有什么帮助?
当我们可以拥有直接值时,为什么还需要内存位置?
我的下一个指令是:
sub rax, '00'
rax包含一个地址num1。我们不应该对值num1而不是地址进行数学运算吗?