Rendszer függvények.
Reset: mikroprocesszor alaphelyzetbe állítása Hang generálás
7sz. LED kijelző törlése Időzítő rutin
Tizedespont kiírása a 7.sz kijelzőre A/D átalakítás
Adat kiírása a 7sz. LED kijelzőre 7sz. LED kijelzőre írás a  HL regiszter segítségével
7sz. LED kijelzőtre hiba kiírása  "Err" Billetyűzetről olvasás
Olvasás a billentyűzetről ASCII kód konvertálás
7sz. LED kijelző adat memória mutatója Length of block
A soros port olvasása, (bemenet) COM1/COM2 Print Data
Írás a soros portra, (kimenet) COM1/COM2 Print CRLF

Regiszter alapú rendszer hívások (CALL 0005)

 Reset

Ez a funkció a mikroprocesszort alaphelyzetbe állítja.

Bemenet: A = 0
CALL 0005
Kimenet: nincs

Példa :- Rendszerhívás hiba esetén alkalmazható
MVI     A,00
CALL    0x5

Üres kijelző
A 7 szegmenses kijelző törlése.
Bemenet: A = 01
C = 00,01,02,03
CALL 0005

- ha C=00, akkor a kijelző "CÍM" helyének szegmens törlése (középső négy számjegy).
- ha C=01, akkor a kijelző "ADAT" adat helyének törlése (két utolsó számjegy).
- ha C=02, akkor a kijelző állapot helyének törlése (elsé két számjegy).
- ha C=03, akkor a kijelző összes szegmens helyének törlése (mind a 8 számjegy).
 
MVI A,0x01 
MVI C,0x03 
CALL 5

Tizedespont kiírása
Ez a funkció tizedespontot ír a 7sz. LED kijelzőre a C regiszter alapján.


Bemenet : A = 02
C = 00,01,02,03
CALL 0005

 Adat kiírás a kijelzőre
Ez a funkció a 7 szegmenses kijelzőre számokat ír ki.


Bemenet : A = 03
C = 00 to 0A
HL = Memória mutató
CALL 0005

- ha C=00, egy számjegy kiírása.
C regiszterben levő szám határozza meg a kiírandó helyet (0 akkor a nyolcadik helyre, ha 7, akkror az első helyre ír) a HL regiszter által mutatott memória címen levő számot írja ki. A memóriában a táblázatban levő számok lehetnek.
 
mvi a,0x03 
mvi c,0x09 
lxi h,0000 
call 5
mvi a,0x03 
mvi c,0x07 
lxi h,0000 
call 5

- ha C=09, 4 digit számjegy kiírása a kijelzősor közepére.

 Kijelzőre hiba kiírása (Error) "Err"

 Ez a funkció a 7 szegmenses kijelzőre "Err" szöveget ír ki középre. Hiba esetére használható.
Bemenet : A = 04
CALL 0005
 
 
 Olvasás a billentyűzetről

Ez a funkció a PC billentyűzetét olvassa (csak hexa számok lehetnek).

bemenet : A = 05
CALL 0005
Kimenet : A = A billentyűzet kódja.
 

Kód konverzió
Hex adat átalakítása ASCII kóddá, vagy ASCII kód átalakítása Hex kódra.

 

 

Amikor a 'C' regiszter értéke 00, akkor hexa adatot konvertál ASCII értékre, egy byte-ot alakít át két byte ASCII értékre.
Bemenet : A = 06
C = 00
L = hex érték
Kimenet : DE regiszter az ASCII érték
D - Magasabb helyiértékű byte
L - Alacsonyabb helyiértékű byte
Eredmény : DE =ASCII érték
 
MVI   A, 0x06 
MVI   C,0x00 
MVI   L,0x13 
CALL  5

Amikor a 'C' regiszter értéke 01, akkor ASCII(két byte) kódot konvertál  HEXA(egy byte) értékre.

Bemenet : A = 06
C = 01
H = Magasabb byte ASCII érték
L = Alacsonyabb byte ASCII érték
Kimenet : Aregiszter = hexa érték
Eredmény : Visszatérés egy byte-os hexa értékkel
 
MVI   A,0x06
MVI   C,0x01
LXI    H,0x3132
CALL  5

 
Blokk hosszának kiszámítása
A memóriában levő blokk hosszának kiszámítása.

 

 

Bemenet : A = 07
HL = Kezdőcím a memóriában
BC = Végcím a memóriában
CALL 0005

Kimenet : DE regiszterben a blokk mérete

Megjegyzés:- Ha HL>BC, akkor "Bad system call error" Híbás rendszer hívás üzenet kiírása.

 
 Hang generálás
Hang generálás


A = 08        ;Bemenet
C = 00,01
CALL 0005

Eredmény : Hangfrekvencia előállítása, a hangszórón 8 milisec periódusidővel hang megszólaltatása.

Ha C=00, akkor 1 KHz hang generálása
Ha C=01, akkor 2 KHz hang generálása

 
Késleltető rutin

Bemenet : A = 09
HL = Késleltetési idő konstans
CALL 0005

Eredmény : Késleltetés (7 * HL=regiszter érték) milisec.

Megjegyzés :- In the microprocessor kit the delay value is calculated in microseconds

 
A/D átalakítás

Note :- This function has not been implmented
A call to this function will simply be ignored

A = 0A    ;Bemenet
C = Csatorna száma
CALL 0005

Kimenet : Digitális érték az A regiszterben

 
 Kijelzőnek adat a  HL regiszternek


A = 0B            ;Bemenet
C = 00,01,02    ;Paraméterek
HL = Adat a kijelzőnek
CALL 0005

Adat a billentyűzetről

Bemenet : A = 0C
C = 00,01
CALL 0005

Kimenet : HL - Adat a billentyűzetről.

 Display data using memory pointer

Bemenet : A = 0D
C = 00,01,02,03
HL = Memória mutató
CALL 0005
 
Data bus D7 D6 D5 D4 D3 D2 D1 D0
7 Segment code d c b a dot g e f

Note :- A zero in the corresponding segment will make that segment glow
 A soros port olvasása, (bemenet) COM1/COM2

Bemenet: A = 0E
C = 00,01
CALL 0005
Eredmény:  B= adat a COM1/COM2-ről
 
- ha C=00, akkor a COM1 -ről olvas be adatot
- ha C=01, akkor a COM2 -ről olvas be adatot
 Soros adat a kimenetre COM1/COM2

Bemenet : A = 0F
C = 00,01
B = Konstans kimenő adat
CALL 0005

Eredmény : Kimenő adat a soros portra COM1/COM2

 
 Adat a printerportra, (LPT-re)

Bemenet : A = 010
C = 00,01
B = Konstans kimenő adat
CALL 0005
 
Print CRLF

Bemenet : A = 011
CALL 0005

Kocsi vissza, soremelés kód kiküldése.

If the printer is not connected, then the program waits for the
time out signal and issues an appropriate warning after the time
out.