Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
所以我正在尝试编写一个汇编程序,显示命令行参数的十六进制地址,然后是命令行参数本身,例如
0x01234567: command line argument 1
我已将字符串的地址加载到寄存器中,并尝试将其放入缓冲区以将其从十六进制转换为文本,以便在终端中正确显示。
如果我执行以下操作将第一个字符串的地址加载到 ebx 中,
lea ebx,[ArgPtrs+edi*4]
有没有办法将该值移动到缓冲区中?
想通了,这只是一些组装成长的痛苦和糟糕的语法。
我最初的想法是——
lea ebx,[ArgPtrs+edi*4] mov [AddrBuff+edi*4],ebx
只需在 mov 指令中添加 dword 即可使其成为合法指令。
mov dword [AddrBuff+edi*4],ebx