Почему pu sh помещает все переменные из раздела .data в стек в сборке x86? - PullRequest
0 голосов
/ 30 апреля 2020

Я изучаю ассемблер (Linux x86) и при использовании функции C puts я столкнулся со следующим: хотя я только пу sh переменная message, кажется, все следующие переменные также помещаются в стек. Что здесь происходит и как я могу сказать, что это только pu sh message в стек?

Код:

            global main
            extern puts

            section .data
message:    db      "Knock, knock, Neo", 10
pessage:    db      "Test", 10

            section .text
main:       push    message
            call    puts
            add     esp, 4

            mov     eax,0 
            ret

Вывод:

Knock, knock, Neo
Test

...