如何将数据从寄存器放入汇编中的缓冲区

时间:2012-05-13 14:05:45

标签: assembly nasm

所以我正在尝试编写一个汇编程序,显示命令行参数的十六进制地址,后跟命令行参数本身,例如

0x01234567: command line argument 1

我已经将字符串的地址加载到寄存器中,并且我正在尝试将其放入缓冲区以将其从十六进制转换为文本,以便在终端中正确显示。

如果我执行以下操作将第一个字符串的地址加载到ebx中,

lea ebx,[ArgPtrs+edi*4]

有没有办法将该值移动到缓冲区?

1 个答案:

答案 0 :(得分:2)

想出来,这只是一些装配成长的痛苦和糟糕的语法。

我最初的确是这个 -

lea ebx,[ArgPtrs+edi*4]
mov [AddrBuff+edi*4],ebx

只需要将dword添加到mov指令中,使其成为合法指令..

mov dword [AddrBuff+edi*4],ebx