Savia 84

Stručný popis základního programového vybavení, tzv. monitoru byl uveřejněn spoju s návodem na stavbu v knize Radioamatérské konstrukce 4, vydané v roce 1990 nakladatelstvím SNTL. Nejprve tedy krátké shrnutí.

Připravenost přijímat následující povely je signalizována zobrazením nápisu SAVIA 84.

Změna obsahu paměti

Po stisknutí tlačítka Ad (M) se zobrazí nápis M0000 A1. Tlačítky hexadecimálních číslic můžeme zadat výchozí adresu. Tu potvrdíme tlačítkem dA (=). Na posledních dvou místech displeje se zobrazí aktuální obsah zvolené paměťové buňky. Stejným způsobem můžeme měnit obsah paměti. Stiskem dA (=) se přesuneme na následující adresu, Stiskem S se přesuneme na předchozí adresu. Pokus o změnu obsahu mimo oblast RAM je indikován symbolem Er. Ukončení zadávání je možné stiskem jiné funkční klávesy (L, Br, Ad, R, Ex).

Změna obsahu registrů

Po stisknutí tlačítka R se zobrazí nápis rXXXX AF,kde symboly XXXX představují aktuální obsah registru, jehož jméno je zobrazeno vpravo. Obsah registru je možné měnit stiskem hexadecimálních číslic. Potvrzením dA (=) se přesuneme na následující registr v řadě AF, BC, DE, HL, SP. Ukončení je možné stiskem jiné funkční klávesy.

Nastavení zarážky

Po stisku tlačítka Br jsme nápisem b0000 A1 vyzváni k zadání adresy první zarážky (break pointu). Po potvrzení tlačítkem dA jsme nápisem b0000 A2 vyzváni k zadání adresy druhé zarážky, kterou taktéž potvrdíme tlačítkem dA (=). Proces automaticky pokračuje zadáním spouštěcí adresy, viz. následující odstavec.

Spuštění uživatelského programu

Po stisku tlačítka Ex jsme vyzváni nápisem GXXXX, kde symboly XXXX představují náhodnou, nebo poslední použitou spouštěcí adresu, případně adresu, kde byl program přerušen zarážkou. Tuto je možné změnit stiskem hexadecimálních číslic. Po stisku tlačítka dA (=) bude na displeji zobrazen znak E a spuštěn uživatelský program.

Následující informace jsou zveřejněny pravděpodobně poprvé:

Zarážka

Při zastavení programu na zarážce je zobrazeno ?XXXX BP, kde symboly XXXX představují adresu aktuální zarážky. V tomto stavu monitor přijímá všechny výše uvedené povely.

Proměnné monitoru

Adresa délka Název Popis
1FD9h 3 vector5 skok na obsluhu přerušení RST 28H
1FDCh 3 vector6 skok na obsluhu přerušení RST 30H
1FDFh 3 vector7 skok na obsluhu přerušení RST 38H
1FE2h 2 break1 adresa první zarážky
1FE4h 1 instr1 přepsaná instrukce
1FE5h 2 break2 adresa druhé zarážky
1FE7h 1 instr2 přepsaná instrukce
1FE8h 2 PC obsah programového čítače
1FEAh 2 AF obsah registru AF
1FECh 2 BC obsah registru BC
1FEEh 2 DE obsah registru DE
1FF0h 2 HL obsah registru HL
1FF2h 2 SP obsah ukazatele vrcholu zásobníku
1FF4h 2 in_addr zadávaná adresa
1FF6h 1 in_data zadávané data
1FF7h 9 buffer oblast zobrazovaná na displeji

Kódování znaků

Kód Znak Kód Znak Kód Znak
00h 0 10h G 20h "
01h 1 11h H 21h =
02h 2 12h h 22h ?
03h 3 13h i 23h mezera
04h 4 14h J    
05h 5 15h L    
06h 6 16h M    
07h 7 17h n    
08h 8 18h o    
09h 9 19h P    
0Ah A 1Ah r    
0Bh b 1Bh t    
0Ch C 1Ch U    
0Dh d 1Dh u    
0Eh E 1Eh Y    
0Fh F 1Fh -    

Kódování kláves

Kód Klávesa Kód Klávesa Kód Klávesa
80h 0 88h 8 90h dA
81h 1 89h 9 91h Ex
82h 2 8Ah A 92h Ad
83h 3 8Bh B 93h L
84h 4 8Ch C 94h S
85h 5 8Dh D 97h Br
86h 6 8Eh E 9Ah R
87h 7 8Fh F    

Dostupné podprogramy

Při psaní vlastních programů můžeme využít i podprogramy ze základního vybavení:

014Fh - Zobrazení adresy: Obsah registru HL je uložen do proměnné in_addr a paměti displeje.1)

0160h - Zobrazení dat: Obsah registru A je uložen do proměnné in_data a paměti displeje.1)

0179h - Čekání: Provádí se pouze zobrazování. Počet zobrazovacích cyklů je třeba vložit do registru DE.

0188h - Smazání displeje: Do první segmentovky zleva je umístěn znak z registru A, zbývající segmentovky jsou vyplněny mezerami (zhasnuty).1)

0196h - Čekání na stisk klávesy: Během čekání se provádí zobrazování obsahu displeje. Kód stisklé klávesy je vrácen v registru A. Příznak Z indikuje klávesu dA (=), příznak CY indikuje numerickou klávesu.

01FDh - Zobrazování: Provádí obsluhu displeje a klávesnice. Příznak CY indikuje stisknutou klávesu. Pro zobrazení jiné oblasti paměti (vlastní texty) je možné volat od adresy 0200h. Pak musí registr HL obsahovat příslušnou adresu textu. Pro čitelné zobrazení je třeba volat opakovaně.


1) Pro vlastní zobrazení je třeba následně volat podprogram 0196h, nebo 01FDh.