Я начинаю со сборки, особенно со сборки GNU, поэтому я играю с регистрами, переменными и значениями и тому подобным, но потом я заметил, что не могу использовать более 3 переменных. Сначала я написал это:
.section .data
chars: .ascii "something"
stuff: .long 0
more: .long 1
.section .text
.globl _start
_start:
movl stuff, %eax
movl %eax, stuff
movl $1, %eax
movl $0, %ebx
int $0x80
и попробовал на терминале и работал, но потом я попробовал это
.section .data
chars: .ascii "something"
stuff: .long 0
more: .long 1
evenmore: .long 3
.section .text
.globl _start
_start:
movl stuff, %eax
movl %eax, stuff
movl $1, %eax
movl $0, %ebx
int $0x80
и это не сработало. Я получил ошибку ошибки сегментации.
Что может быть не так? Что мне делать?