Postanowiłem doprowadzić do końca moją procedurę z nocnych koszmarów
wynik działania w załączniku
Więc mamy główną pętle:
ld a,0
ld hl,50005 ;jednosci
ld (hl),a
ld a,0
ld hl,50006 ;dziesiatki
ld (hl),a
start
call wyswietl
call zwieksz
call time
jp start
I procedury:
procedura wyswietl - wyświetla aktualny stan licznika
procedura zwieksz zwiększa jego stan o 1
procedura time - spowalnia działanie programu
WYSWIETL
ld hl,50006 ;dziesiatki
ld a,(hl)
add a,48
rst 16
ld hl,50005 ;jednosci
ld a,(hl)
add a,48
rst 16
ZWIEKSZ
ld a,(50005)
cp 9
jp z,zw1
inc a
ld (50005),a
ret
zw1
ld a,0
ld (50005),a
ld a,(50006)
inc a
cp 10
jp z,stop
ld (50006),a
no i procedura END zmienia border na żółty żeby pokazać że licznik doszedł do końca
PS dalej nie potrafię wyświetlić więcej niż jednego bajta na raz DEFB, DEFM też nie działa.
No i problemem jest ustawienie miejsca wyświetlania, osiągam to przez znaki sterujące, cofanie kursora, enter, spacja.
Przez zmienną systemową 23566/7 nie działa.