我的问题是:当我有这样的事情时:
lea rax, rbp - 8
// 也许这是我堆栈上的一个 int,因为我的代码中有一个本地“int”变量。当我这样做时,CPU如何知道数据在哪里:
mov qword [rax], 14
我的意思是,它只是一个地址......如果我在 保留内存2^64 - x
怎么办?
你分配的内存不能有这种地址吗?
或者如果堆栈增长到与您分配的内存具有相同的地址怎么办?
这会发生吗?
汇编器不知道 rax 中的数字是多少,因此它不能是 MOVstack 和 MOVheap,就像近 JMP 和远 JMP 一样。