所以我正在尝试编写一个汇编程序,显示命令行参数的十六进制地址,后跟命令行参数本身,例如
0x01234567: command line argument 1
我已经将字符串的地址加载到寄存器中,并且我正在尝试将其放入缓冲区以将其从十六进制转换为文本,以便在终端中正确显示。
如果我执行以下操作将第一个字符串的地址加载到ebx中,
lea ebx,[ArgPtrs+edi*4]
有没有办法将该值移动到缓冲区?
答案 0 :(得分:2)
想出来,这只是一些装配成长的痛苦和糟糕的语法。
我最初的确是这个 -
lea ebx,[ArgPtrs+edi*4]
mov [AddrBuff+edi*4],ebx
只需要将dword添加到mov指令中,使其成为合法指令..
mov dword [AddrBuff+edi*4],ebx