Salve a tutti, in questi giorni ho deciso di dedicarmi un po all' assembly. Ho provato a fare un semplice programmino che stampa a schermo tre parole( "ciao", "come" e "stai?" ) e fin qui tutto bene, l'output è corretto, il problema è alla fine, ovvero mi esce scritto anche "Errore di segmentazione (core dump creato)". Qualcuno sa spiegarmi il perchè ? non mi sembra di aver commesso errori di logica o sinstassi.
l'output è questo:
Codice:
section .data
one: db 'Ciao ', 10, 0
two: db 'come ', 10, 0
end: db 'stai?', 10
sOne equ $-one
sTwo equ $-two
sEnd equ $-end
section .text
global _start
_start:
; stampo a schermo la prima parola
mov ecx, one
mov edx, sOne
call print
; stampo a schermo la seconda parola
mov ecx, two
mov edx, sTwo
call print
; stampo a schermo l'ultima parola
mov ecx, end
mov edx, sEnd
call print
mov eax, 1
mov ebx, 0
int 0x80
print:
mov eax, 4
mov ebx, 1
int 80h
l'output è questo:
PHP:
Ciao
come
stai?
Errore di segmentazione (core dump creato)