Witam,
mam problem, zaczyna uczyć się asemblera jako takiego, używam nasma i w ramach ćwiczeń chciałem napisać prosty program, który wyświetli n razy ten sam tekst, ale nie działa, program się zapętluje, tak jakby instrukcja porównania nie działała, czy ktoś może to wyjaśnić i pomóc? Używam asmloadera, kompiluję tylko do binarki, ale kod sam schemat pętli powinien działać "wszędzie" żeby pisać w czystym asembly. W rejesrze ebx są odwołania (adresy) do funkcji w c. Program normalnie działa ale kiedy pisze petle coś jest nie tak. :)
[bits 32]
; wykonujemy nasz program, dla maksymalnego uproszczenia, wyświetlamy tylko literę A
START:
mov edx, 10
PETLA:
push 'A'
call [ebx+1*4] ;putchar()
add esp, 4
dec edx
cmp edx, 0
jnz PETLA ; skok do PETLA
KONIEC:
push 0
call [ebx] ;exit()