Печать определенной строки в сборке - PullRequest
2 голосов
/ 17 февраля 2012

У меня есть этот код сборки:

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

Он печатает только «Эй». Как я могу это исправить, чтобы напечатать «Эй, ты»?

1 Ответ

7 голосов
/ 17 февраля 2012

Вы должны добавить пробел после слова Hey, например, «Hey».

Почему?поскольку 'Hey' - это меч, то есть 4 байта: 'H' 'e' 'y' 0 (ноль), printf печатает до первого нуля, поэтому вы получаете только "Hey".
Но "Hey" равно 'H' 'e' 'y' ' ', ипервый null теперь будет после 'You'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...