【发布时间】:2013-01-07 22:18:02
【问题描述】:
我注意到 MOV 应该从寄存器复制和覆盖数据,但如果任何其他寄存器中没有当前数据,MOV 是否会将特定大小的字节从 RAM 移动到寄存器以临时保存它,或者这究竟是如何工作的?
为了澄清我的问题,假设我使用:
MOV AL, 0x10;
在这种情况下,移动到8位寄存器的“10”位数据在哪里?
这是从 RAM 转移到 AL 的 8 位来保存,还是“10”字节只是一个不在内存中的暂存器数字?
我不明白这一点,如果有人能解决这个问题,那就太棒了。
我的问题是我需要知道在哪里使用了多少内存以及使用了多少内存,以及如何以及究竟是什么解决了它(教程并没有明确这一点)。
【问题讨论】:
-
说明书本身就有。
-
@GManNickG 你能再澄清一下吗?所以你是说RAM是由指令本身访问的,而不是移动的?我不明白。
-
你能告诉我们为什么你需要知道这一点。请提供更多上下文
-
也许缺少的概念是 MOV 不是一条指令。有很多,一个移动 10 到 AL,另一个移动 42 到 BX,等等。
-
您并没有真正在传统意义上的 ASM 中“分配”内存。记忆就在那里。
标签: assembly