标签: assembly
我有这个汇编代码:
push dword ' You' push dword 'Hey' push esp call printf
它仅打印'嘿'。 如何修复它以打印'嘿你'?
答案 0 :(得分:7)
你应该在嘿嘿之后添加一个空格,这样'嘿'。
为什么呢?因为'嘿'是一个dword,即4个字节:'H' 'e' 'y' 0(null),printf打印直到第一个空,因此你只得到'嘿'。 但是'嘿'是'H' 'e' 'y' ' ',第一个null现在将在'你'之后。
'H' 'e' 'y' 0
printf
'H' 'e' 'y' ' '