Программа сборки печатает новую строку - PullRequest
1 голос
/ 24 декабря 2010

Итак, я написал эту простую программу сборки.Я сделал привет и мир отдельно для практики.

    .cstring
hello:
    .ascii "hello "
    .text
world:
    .ascii "world\0"
    .text
.globl _main
_main:
    pushl %ebp
    movl %esp, %ebp
    subl $8, %esp
    movl $hello, (%esp)
    call _puts
    movl $world, (%esp)
    call _puts
    xorl %eax, %eax
    leave
    ret
    .subsections_via_symbols

У меня Mac OS X с процессором Intel.Эта программа печатает символ новой строки каждый раз, когда я вызываю пут.Может кто-нибудь объяснить мне, почему он это делает?

1 Ответ

3 голосов
/ 24 декабря 2010

Поскольку делает puts(3) .

Функция gets () записывает строку s и завершающий символ новой строки для потока stdout.

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