Nardil screen.asm

This commit is contained in:
Timon 2025-11-09 19:05:22 +01:00
parent f8922139b8
commit d9b2e0432e

View file

@ -0,0 +1,34 @@
scr START 0
LDB screen
LDT scrlen
ADDR T, B . B = screen + scrlen (konec zaslona)
JSUB scrfil
SUBR T, B . B = screen (zacetek zaslona) ČE PUSTIMO TKO NE CLEARA ZADNJEGA ZNAKA
LDT #1
SUBR T, B
JSUB scrclear
halt J halt
scrfil LDCH #97 . V skrajno desni bajt A nalozimo a
+STCH @screen . Zapisemo a na zaslon
LDA screen
ADD #1
STA screen . Pointr na pomnilnisko lokacijo kjer je zaslon premaknemo za 1 naprej
COMPR A, B . 2000 znakov lahko napisemo, ko bo A == B(screen + scrlen) smo zapolnili celoten zaslon
JLT scrfil
RSUB
scrclear LDCH #0
+STCH @screen
LDA screen
SUB #1
STA screen
COMPR A, B . Brisemo dokler ne pobrisemo vseh 2000 znakov
JGT scrclear
RSUB
scrcol WORD 80 . Default stevilo stolpcev
scrrow WORD 25 . Default stevilo vrstic
scrlen WORD 2000 . Lahko shranimo 2000 znakov
screen WORD 0xb800 . Tabela se zacne na tem naslovu