Assembler - pętla z naruszniem pamięci


(fedora24x) #1

Hej, moglibyście powiedzieć gdzie jest błąd w logice, ponieważ po skompilowaniu program wywala się w konsoli, ze jest naruszenie pamięci?

.data
	tablica: .rept 13
	 .int 0
	 .endr
	zmienna: .int 0

.text
.global _start
_start:
xorl %ecx, %ecx
for: cmpl $13, %ecx
jge exit

     addl $1, %ecx
     jmp for
exit: nop

movl $0, %eax
int $0x80

(tomms) #2

Nie podałeś pod jakim systemem operacyjnym ten program ma działać. Po “int $0x80” i “eax” zgaduję że chodzi o 32 bitowego Linuksa na platformie x86. Jak tak to syscall to zakończenia programu ma kod 60.