assembler€86ˆ 3

assembler€86ˆ 3



246


9. Wykorzystanie procedur systemowych w programach użytkowych

06H - bezpoÅ›rednie odczytanie (wysÅ‚anie) znaku z (na) klawiatury (ekran). Jeżeli przed wywoÅ‚aniem DL = FFH i klawisz zostaÅ‚ naciÅ›niÄ™ty, to jego kod pozostaje w AL, a ZF = 0. Jeżeli klawisz nie zostaÅ‚ wciÅ›niÄ™ty, to ZF = 1. JeÅ›li przed wywoÅ‚aniem DL FFH, zostaje wyÅ›wietlony znak z rejestru DL (ang. direct console //O),

07H - oczekiwanie na naciÅ›niÄ™cie klawisza i odczytanie znaku z klawiatury bez wysÅ‚ania echa i rozpoznawania Ctrl-C. Kod znaku pozostaje w AL. (ang. direct console input ), 08H - opis jak dla funkcji 07H, jednak po rozpoznaniu Ctrl-C jest wykonywane INT 23H (ang. read keyboard),

09H - wyÅ›wietlenie na ekranie Å‚aÅ„cucha znaków (tekstu). PoczÄ…tek Å‚aÅ„cucha musi być okreÅ›lony adresem podanym w rejestrach DS:DX, tekst koÅ„czy siÄ™ znakiem dolara ($), który nie jest wyÅ›wietlany (ang. display string ).

OAH - oczekiwanie na kolejne znaki z klawiatury i wprowadzanie ich kodów do bufora. Bufor rozpoczyna siÄ™ od adresu okreÅ›lonego przez rejestry DS:DX i zawiera: 1 bajt z maksymalnÄ… liczbÄ… znaków wÅ‚ buforze wraz z CR; 2 bajt z aktualnÄ… liczbÄ… wprowadzonych znaków; bajty 3...n - wÅ‚aÅ›ciwy bufor (ang. buffered keyboard input),

OBH - sprawdzenie czy w buforze (ang. type-ahead buffer ) jest podany znak z klawiatury. Jeżeli tak, to AL = FFH, w przeciwnym przypadku AL = 0 (ang. check keyboard status),

OCH - usunięcie wszystkich znaków z bufora klawiatury zakończone wywołaniem jednej z funkcji: 1, 6, 7, 8 lub OAH, której numer znajduje się w rejestrze AL. Umieszczenie innego numeru powoduje powrót (z AL = 0) do programu bez dalszego wywołania (ang.jlush buffer, read keyboard),

ODH - zerowanie wewnętrznych buforów pamięciowych do przechowywania plików, zerowanie stacji dysków. Funkcja nie zamyka plików i powinna być zasadniczo wywołana po funkcji 10H lub 3EH (ang. reset disk flush buffers ),

OEH - wybór stacji dysków. Numer stacji jest pobierany z rejestru DL (0 = A:,

1 = B:,...). Po wykonaniu procedury w AL zostaje informacja o liczbie stacji dyskowych w systemie (ang. select disk),

OFH - otwarcie pliku dyskowego. Rejestry DS:DX wskazujÄ… nie otwarte pole FCB (zob. tabl. 8.3). Jeżeli zostaje znalezione wejÅ›cie do wÅ‚aÅ›ciwego katalogu i plik zostanie otwarty, to rejestr AL = 0, w przeciwnym przypadku AL = FFH (ang. open file),

10H - zamkniÄ™cie pliku dyskowego. Rejestry DS:DX wskazujÄ… otwarte pole FCB (zob. tabl. 8.3). Jeżeli zostaje znalezione wejÅ›cie do wÅ‚aÅ›ciwego katalogu, to rejestr AL = 0, w przeciwnym przypadku AL = FFH (ang. close file ),

11H - poszukiwanie pierwszej nazwy pliku, zgodnej z podanym wzorcem. Rejestry DS:DX wskazują nie otwarte pole FCB (zob. tabl. 8.3). Jeżeli nazwa zostanie znaleziona, to rejestr AL = 0, w przeciwnym przypadku AL = FFH. Jest możliwe stosowanie symboli ogólnych (*, ?) (ang. search forftrst entry ),

12H - poszukiwanie kolejnej nazwy pliku, zgodnej z wzorcem, przy czym poszukiwanie rozpoczyna siÄ™ za nazwÄ… znalezionÄ… ostatnio za pomocÄ… funkcji 11H lub 12H. Rejestry DS:DX i AL, jak dla funkcji 11H (ang. search for next entryf),

13H - usunięcie pliku dyskowego. Rejestry DS:DX i AL jak dla 11H (ang. delete file ), 14H - odczytanie kolejnego rekordu z pliku sekwencyjnego. Rejestry DS:DX wskazują

powered by

9.2. Procedury systemowe MS DOS


Mi S~hpl

otwarte pole FCB. Po wykonaniu operacji pole FCB zostaje uaktualnione, a rejestr AL przyjmuje wartość: 0 - odczyt zakoÅ„czony poprawnie, 1 - koniec pliku i brak danych w rekordzie, 2 - obszar DTA zbyt maÅ‚y i anulowanie operacji, 3 - koniec pliku, odczytano część rekordu i uzupeÅ‚niono resztÄ™ zerami (ang. seÄ…uential read),

15H - zapisanie kolejnego rekordu do pliku sekwencyjnego. Rejestry DS:DX wskazujÄ… otwarte pole FCB. Po wykonaniu operacji pole FCB zostaje uaktualnione, rejestr AL przyjmuje wartość: 0 - zapis zakoÅ„czony poprawnie, 1 - dysk peÅ‚ny i anulowanie operacji, 2 - obszar DTA zbyt maÅ‚y (ang. seÄ…uential write ),

16H - utworzenie nowego pliku dyskowego. Rejestry DS:DX wskazujÄ… nie otwarte pole FCB. Po wykonaniu operacji pole FCB zostaje uaktualnione, rejestr AL przyjmuje wartość: 0 - katalog znaleziony, FFH - żądany katalog niedostÄ™pny (ang. create file ),

17H - zmiana nazwy pliku. Rejestry DS:DX wskazujÄ… zmodyfikowane pole FCB. Po wykonaniu operacji rejestr AL przyjmuje wartość: 0 - operacja wykonana prawidÅ‚owo, FFH - nie znaleziono pliku lub nazwa istnieje już w katalogu (ang. rename file ),

18H - funkcja zarezerwowana,

19H - test, która ze stacji dysków została ostatnio wybrana za pomocą funkcji OEH. Rejestr AL przekazuje informację: 0 - A:, 1 - B:,... (ang. current disk ),

1AH - zmiana adresu bufora służącego do wprowadzania (wyprowadzania) na (z) dysku. Rejestry DS:DX wskazują adres bufora (ang. set disk transfer address ),

1BH-20H - funkcje zarezerwowane przez firmÄ™ Microsoft. (1BH, ICH - informacje

0    pojemnoÅ›ci i organizacji stacji dysków, identyfikacja listy zawartoÅ›ci dysku),

21H - odczytanie wskazanego rekordu z pliku o dostępie swobodnym. Rejestry DS:DX

1    AL jak dla funkcji 14H (ang. random read single record),

22H - zapisanie wskazanego rekordu do pliku o dostępie swobodnym. Rejestry DS:DX i AL jak dla funkcji 15H (ang. random write single record),

23H - okreÅ›lenie wielkoÅ›ci pliku. Rejestry DS:DX i AL jak dla 16H (ang.getfile size ), 24H - okreÅ›lenie numeru rekordu przy dostÄ™pie swobodnym dla zwrotu parametru przy dostÄ™pie sekwencyjnym. Rejestry DS:DX wskazujÄ… otwarte pole FCB (ang. set relative record).

Funkcje zwiÄ…zane z systemem MS-DOS (25H-38H)

25H - ładowanie wektora przerwań. Przed wywołaniem rejestr AL powinien zawierać numer przerwania, a rejestry DS:DX adres procedury obsługi przerwania (ang. set in-terrupt vector),

26H - utworzenie nowego bloku PSP (ang. create newprogram segment prefuc),

27H - odczytanie wielu rekordów z pliku o dostÄ™pie swobodnym. Rejestry DS:DX i AL jak dla funkcji 14H. Rejestr CX powinien zawierać liczbÄ™ rekordów do odczytania (ang. random bÅ‚ock read ),

28H - zapisanie wielu rekordów do pliku o dostÄ™pie swobodnym. Rejestry DS:DX i AL jak dla funkcji 15H. Rejestr CX zawierać powinien liczbÄ™ rekordów do zapisania, (ang. random bÅ‚ock write ),

29H - poszukiwanie łańcucha znaków w nazwie pliku. Znaczenie rejestrów przed wywołaniem funkcji jest następujące: DS:SI - adres poszukiwanego łańcucha, ES:DI -


Wyszukiwarka

Podobne podstrony:
assembler?86? 7 234 9. Wykorzystanie procedur systemowych w programach użytkowych Przerwania sprzę
assembler?86? 8 236    9. Wykorzystanie procedur systemowych w programach użytkowyc
assembler?86? 9 238    9. Wykorzystanie procedur systemowych w programach użytkowyc
assembler?86? 0 240 9. Wykorzystanie procedur systemowych w programach użytkowych A < 2 > -
assembler?86? 1 242 9. Wykorzystanie procedur systemowych w programach użytkowych Wywołanie rezydu
assembler?86? 2 244 9. Wykorzystanie procedur systemowych w programach użytkowych Program użytkowy
assembler?86? 4 248 9. Wykorzystanie procedur systemowych w programach użytkowych adres pola FCB,
assembler?86? 5 250 9. Wykorzystanie procedur systemowych w programach użytkowych numer kanału. Je
assembler?86? 6 252    9. Wykorzystanie procedur systemowych w programach użytkowyc
assembler?86? 7 254 9. Wykorzystanie procedur systemowych w programach użytkowych • Przykład ilust
assembler?86? 6 9. Wykorzystanie procedur systemowych w programach użytkowych Mikrokomputery klasy
Laboratorium Przemysłowe Systemy Cyfrowe (PLC) 1.1. Projektowanie programu użytkownika Podstawowe
7 system operacyjny programy użytkowe systemu jądro systemu i powloką - interpreter poleceń
t Program diagnostyczny systemu l Program koordynujący Programy Użytkowo Programy
-    kod programu użytkownika (proces użytkownika) -    kod systemowy
Elementy systemu komputerowego użytkownicy (ludzie, maszyny, inne komputery) programy użytkowe
WSTiE i: AGHZałożenia systemu operacyjnego » Udostępniać programom użytkownika wygodne i efektywne

więcej podobnych podstron