Programowanie stacji LDW Super 2000 i CA-2001: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 1: | Linia 1: | ||
Używając komendy SIO "X" można przesyłać/wykonywać małe fragmenty własnych programów, pamiętając oczywiście, że w stacjach dysków LDW 2000 znajduje się procesor z rodziny Z80, więc wszelkie programy muszą być zapisane w kodzie maszynowym tego właśnie procesora. Można przy tym skorzystać z wbudowanych w ROM funkcji. Nie ma oczywiście gwarancji niezmienności tej tabeli funkcji, ale jest duże tego prawdopodobieństwo. | Używając komendy SIO "X" można przesyłać/wykonywać małe fragmenty własnych programów, pamiętając oczywiście, że w stacjach dysków LDW 2000 znajduje się procesor z rodziny Z80, więc wszelkie programy muszą być zapisane w kodzie maszynowym tego właśnie procesora. Można przy tym skorzystać z wbudowanych w ROM funkcji. Nie ma oczywiście gwarancji niezmienności tej tabeli funkcji, ale jest duże tego prawdopodobieństwo. | ||
Aby użyć danej funkcji nalezy jej numer załadować do rejestru C procesora, a następnie wywołać procedurę spod adresu $0004 (call). Rejestry, z których korzysta się przy wywołaniu/powrocie z funkcji znajdują się w nawiasach. | Aby użyć danej funkcji nalezy jej numer załadować do rejestru C procesora, a następnie wywołać procedurę spod adresu $0004 (call). Rejestry, z których korzysta się przy wywołaniu/powrocie z funkcji znajdują się w nawiasach, z wyjątkiem funkcji 0C, która używa | ||
flagi przeniesienia (carry) procesora (CF). | |||
Poniżej lista funkcji (numery funkcji zapisane szesnastkowo): | Poniżej lista funkcji (numery funkcji zapisane szesnastkowo): | ||
| Linia 11: | Linia 11: | ||
03 - odczyt sektora (E) ze scieżki (D)<BR> | 03 - odczyt sektora (E) ze scieżki (D)<BR> | ||
04 - zapis sektora (E) na scieżce (D)<BR> | 04 - zapis sektora (E) na scieżce (D)<BR> | ||
05 - | 05 - odbiór bajtu (transmisja szeregowa) (C)<BR> | ||
06 - | 06 - wysłanie bajtu (A)<BR> | ||
07 - | 07 - odbiór rekordu o długości (B) pod adres (DE)<BR> | ||
08 - | 08 - wysłanie rekordu o długości (B) spod adresu (DE)<BR> | ||
09 - | 09 - konwersja pojedynczej cyfry wyswietlacza (A) do (A)<BR> | ||
0A - | 0A - konwersja dwucyfrowa decymalna (A) do (DE)<BR> | ||
0B - | 0B - konwersja dwucyfrowa heksadecymalna (A) do (DE)<BR> | ||
0C - | 0C - włączenie (CF=1) lub wyłączenie (CF=0) silnika<BR> | ||
0D - edit | 0D - edit | ||
0E - edit | 0E - edit | ||
Wersja z 7 lut 2006, 19:26
Używając komendy SIO "X" można przesyłać/wykonywać małe fragmenty własnych programów, pamiętając oczywiście, że w stacjach dysków LDW 2000 znajduje się procesor z rodziny Z80, więc wszelkie programy muszą być zapisane w kodzie maszynowym tego właśnie procesora. Można przy tym skorzystać z wbudowanych w ROM funkcji. Nie ma oczywiście gwarancji niezmienności tej tabeli funkcji, ale jest duże tego prawdopodobieństwo.
Aby użyć danej funkcji nalezy jej numer załadować do rejestru C procesora, a następnie wywołać procedurę spod adresu $0004 (call). Rejestry, z których korzysta się przy wywołaniu/powrocie z funkcji znajdują się w nawiasach, z wyjątkiem funkcji 0C, która używa flagi przeniesienia (carry) procesora (CF).
Poniżej lista funkcji (numery funkcji zapisane szesnastkowo):
00 - zwraca wersje ROMu (DE)
01 - powrót głowicy
02 - ustawienie głowicy nad konkretną półścieżką (D)
03 - odczyt sektora (E) ze scieżki (D)
04 - zapis sektora (E) na scieżce (D)
05 - odbiór bajtu (transmisja szeregowa) (C)
06 - wysłanie bajtu (A)
07 - odbiór rekordu o długości (B) pod adres (DE)
08 - wysłanie rekordu o długości (B) spod adresu (DE)
09 - konwersja pojedynczej cyfry wyswietlacza (A) do (A)
0A - konwersja dwucyfrowa decymalna (A) do (DE)
0B - konwersja dwucyfrowa heksadecymalna (A) do (DE)
0C - włączenie (CF=1) lub wyłączenie (CF=0) silnika
0D - edit
0E - edit
0F - edit
10 - edit
11 - edit
12 - edit
13 - edit
14 - edit
Strona w trakcie edycji