这是我想做的:
我想写一个存储在寄存器中的地址,这样就可以使用它。
mov bx, STRING
add bx, 0x1
;and here I want to write a value the the address in bx
STRING: db "abcdefghijklmnopqrstuvwxyz"
我可以理解,对此可能有一个简单的说明,但找不到。
我正在使用NASM汇编器使用16位处理器。
最佳答案
引用位于寄存器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
等),用于告诉汇编程序立即操作数应为多少大小。当直接将立即数写入内存时,这是必需的,因为仅编写mov [bx],0
之类的内容将是模棱两可的。关于assembly - 写入存储在寄存器中的地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24863010/