这就是我想要做的事情:
我想写一个存储在寄存器中的地址,这样我就可以这样使用它了;
mov bx, STRING
add bx, 0x1
;and here I want to write a value the the address in bx
STRING: db "abcdefghijklmnopqrstuvwxyz"
我可以理解可能有一个简单的指令,但我找不到它。
我使用的是NASM汇编程序的16位处理器。
答案 0 :(得分:5)
引用位于寄存器bx
中包含的地址的内存的正确方法是[bx]
。因此,如果您想获取另一个寄存器中包含的值并将其存储在[bx]
,您将使用:
mov [bx],al
mov [bx],dx
mov [bx],ecx
; ..etc..
您还可以直接存储立即值:
mov byte [bx],0
mov byte [bx],'A'
mov word [bx],0x1234
; ..etc..
请注意大小前缀(byte
,word
等),它用于告诉汇编程序立即操作数的大小。当将immediates直接写入内存时,这是必要的,因为只写mov [bx],0
这样的内容会有些模棱两可。