MOV到变量指针

时间:2018-12-27 17:03:34

标签: assembly x86 bootloader i386

我在0x7c02声明了单词:

ramSpace: dw 0x500

是否可以直接在ramSpace指向的地址处更改内存?当前要将内存更改为0x500,我必须:

MOV BX, [ramSpace]
MOV [BX], BYTE 01

或:

MOV [0x500], BYTE 01

但是输入:

MOV [ramSpace], BYTE 01

将0x7c02值从0x500更改为01。有没有办法从内存中的变量指向0x500?像这样:

MOV [[ramSpace]], BYTE 01

1 个答案:

答案 0 :(得分:2)

不,x86没有任何指令可以从内存中加载一个单词并将其用作访问另一个单词/内存字节的地址。您必须使用中间寄存器来完成此操作。