[asm] wypisanie 10 kolejnych liter

0

mam taki kodzik:

section .text
	global _start

_start:
mov EAX, 4h
mov EBX, 0h
mov ECX, 0Ah

pisz:
push ECX
mov ECX, znak
mov EDX, 1
int 80h
mov ECX, [znak]
inc ECX
mov [znak], ECX

pop ECX
dec ECX
cmp ECX, 0
jne pisz

mov EAX, 1
int 80h

section .data
znak db 'A'

chcialem wypisac 10 kolejnych liter, ale cos zwalilem, bo nie dziala :/ nie mam pojecia gdzie jest blad

0

Hej, po wykonaniu pierwszego przerwania dostajesz w EAX liczbę wypisanych znaków - tutaj 1. Czyli od tego momentu EAX to już nie 4, jak założyłeś, tylko 1. A EAX=1, int 80h kończy działanie programu :)
Po prostu przenieś to:

mov eax, 04h

pod etykietkę pisz:

1 użytkowników online, w tym zalogowanych: 0, gości: 1