在装配中打印某个字符串

时间:2012-02-16 21:28:30

标签: assembly

我有这个汇编代码:

push dword ' You'
push dword 'Hey'
push esp
call printf

它仅打印'嘿'。 如何修复它以打印'嘿你'?

1 个答案:

答案 0 :(得分:7)

你应该在嘿嘿之后添加一个空格,这样'嘿'。

为什么呢?因为'嘿'是一个dword,即4个字节:'H' 'e' 'y' 0(null),printf打印直到第一个空,因此你只得到'嘿'。
但是'嘿'是'H' 'e' 'y' ' ',第一个null现在将在'你'之后。