我意识到在以下情况下禁止从内存复制到内存:
section .data
var1 db 23
var2 db 9
section .text
global _start
_start:
mov [var1],[var2]
mov eax,1
mov ebx,0
int 80h
但是,最近我发现代码示例并不完全遵循规则。 这是一个想法:
section .data
var1 dd 23
var2 dd 9
section .text
global _start
_start:
mov dword [var1],var2
mov eax,1
mov ebx,0
int 80h
我知道我们无法在内存位置之间传输数据,但我想知道是否可以将一个变量的内存位置传递给另一个变量。 它实际上是编译,并完成工作 我的问题是:这真的有用吗? 提前谢谢,任何帮助将不胜感激。
答案 0 :(得分:3)
在这种情况下,var2
被用作实际的内存地址文字。换句话说,它不会尝试将某些内容移入或移出该地址,而是将地址的值移至[var1]
位置。