0

我需要从地址读取内存:

0C0003H

并将其移至 AL 寄存器。我会使用简单的方法来实现这一点:

MOV al, [0C0003H]

? 我想不可能那么简单......AL是8位寄存器,地址是24位。那我该怎么做呢?

另外,为什么这个地址有 24 位?它不应该更像是 16 位还是 32 位?为什么他们在开头加0只是为了将位数从20增加到24?

4

1 回答 1

0

您可以参考下面的代码来访问汇编中该地址的一个字节:

push 0000h
pop es
mov ebx, 0C0003h
mov al, es:[ebx]; where es:ebx is used as the memory pointer
于 2013-07-18T05:34:34.867 回答