Witam!
Mam problem z pewną kwestią. Oto wycinek kodu:
; ---------------------------------------------------------------------
saveStatsToFile proc
push ax
push bx
push cx
push dx
mov bx,word ptr ds:[OUTPUT]
mov dx,offset WSRES
call saveText
mov dx,offset PCRES
call saveText
mov dx,offset DGRES
call saveText
pop dx
pop cx
pop bx
pop ax
ret
saveStatsToFile endp
; ---------------------------------------------------------------------
saveText proc
push ax
push cx
mov cx,1d
mov ah,40h
int 021h
endOfProc:
pop cx
pop ax
ret
saveText endp
; ---------------------------------------------------------------------
W BX mam uchwyt pliku, do którego będę zapisywał dane.
Każdy z offsetów wskazuje na łańcuch znaków.
Chciałbym móc przekazać do procedury informację, który łańcuch jest aktualnie przerabiany, by móc przewidywać w niej jaki następny znak będzie przetwarzany. Nie chcę tworzyć w środku masy skoków warunkowych, bo wywołań saveText będzie ok. 10.
Chcę po prostu w środku zrobić pętlę, która będzie przepisywać kolejne znaki, póki nie napotka na '$'.
Mniej-więcej coś na ten wzór:
mov si,0
petla:
cmp ds:[AKTUALNYELEMENT + si],'$'
je endOfProc
mov ah,40h
int 021h
inc dx
inc si
jmp petla