Zaslon
Originalni SIC/XE ne podpira zaslona. V simulatorju pa imamo na voljo preprost enobarvni tekstovni zaslon. Poiščite in seznanite se z nastavitvami za zaslon v simulatorju. Kako pravzaprav zapišemo en znak na zaslon?
Izpišite po en znak na zaslon v zgornji levi kot, v spodnji levi kot, na sredino zaslona itd. Kateri direktivi omogočata definirati oznako, ki vsebuje začetni naslov zaslona?
Zaslonske rutine
Napišite program screen.asm
, v katerem definirate in preizkusite naslednje simbole oziroma rutine:
- simbol
screen
naj predstavlja zaslon oz. naslov zaslona, - simbola
scrcols
inscrrows
naj vsebujeta število stolpcev oziroma vrstic zaslona, - simbol
scrlen
naj vsebuje velikost zaslona (torej dolžino tabele) v bajtih, - rutina
scrclear
naj pobriše zaslon, - rutina
scrfill
pa naj zaslon zapolni z znakom, podanim v spodnjem bajtu registraA
.
Poskusite rutini scrclear
in scrfill
združiti tako, da se prekrivata, le da imata vsaka svojo vstopno točko. Je kaj takega mogoče v višjih programskih jezikih?
★ Zaslonski gonilnik
Zgornjim rutinam dodajte še osnovne rutine za izpis na zaslon, npr. printch
, printstr
, itd. Glede lokacije izpisa imate (vsaj) dve možnosti:
- vsaki rutini podate koordinati
row
,col
točke začetka izpisa; ali pa - vpeljete pozicijo kurzorja, ki se ob vsakem izpisu avtomatsko premakne.
Izberite eno od možnosti in jo implementirajte. Podrobnosti izvedite po svoji zamisli.