assembler€86ˆ 4

assembler€86ˆ 4



248


9. Wykorzystanie procedur systemowych w programach użytkowych

adres pola FCB, AL - sterowanie procesem przeszukiwania. Po zakoÅ„czeniu operacji: DS:S1 - adres pierwszego bajtu Å‚aÅ„cucha ostanio przeszukiwanego, ES:DI - nie otwarte pole FCB, AL - komunikat o ewentualnym bÅ‚Ä™dzie (ang.parse file name),

2AH - odczyt daty z zegara systemowego. Po wykonaniu operacji rejestry zawierają: CX - rok (1980-2099), DH - miesiąc (1 - styczeń, 2 - luty,...), DL - dzień (1-31), AL -dzień tygodnia (0 - niedziela, 1 - poniedziałek,...) (ang.get datę ),

2BH - ustawienie daty w zegarze systemowym. Rejestry CX, DH, AL (przed wywołaniem funkcji) jak dla funkcji 2AH. Po wykonaniu operacji rejestr AL informuje: 0 - data była prawidłowa, FFH - data była błędna (ang. set datę ),

2CH - odczytanie czasu z zegara systemowego. Po wykonaniu operacji rejestry zawierajÄ…: CH - godzinÄ™ (0-23), CL - minuty (0-59), DH - sekundy (0-59), DL - setne części sekundy (0-99) (ang. get time),

2DH - ustawienie czasu w zegarze systemowym. Rejestry CH, CL, DH, DL (przed wywołaniem funkcji) jak dla funkcji 2CH. Po wykonaniu operacji rejestr AL informuje: 0 - czas był prawidłowy, FFH - czas był błędny (ang. set time ),

2EH - ustawienie (zerowanie) wskaźnika weryfikacji. Jeżeli AL = 0, to operacje zapisu na dysku nie sÄ… weryfikowane. Jeżeli AL = 1, to po każdym zapisie na dysku bÄ™dzie wykonana weryfikacja (ang. set/reset verify flag ),

2FH - pobranie adresu bufora DTA do operacji dyskowych. Po wykonaniu działania rejestry DS:DX zawierają adres bufora (ang. get disk transfer address ),

30H - pobranie numeru wersji systemu MS-DOS. Po wykonaniu operacji rejestry zawierajÄ…: AL - pierwszÄ… część numeru, AH - drugÄ… część numeru, BL:CX - numer użytkownika (24 bity), BH - numer OEM (ang.get DOS version numher),

31H - zakoÅ„czenie wykonywanego programu, bez usuwania go z pamiÄ™ci (por. 1NT 27H). Znaczenie rejestrów przed wywoÅ‚aniem jest nastÄ™pujÄ…ce: AL - kod zamykajÄ…cy, DX - rozmiar pamiÄ™ci liczony mod 16 (ang. keepprocess),

32H - funkcja zarezerwowana,

33H - pobranie, ustalenie i zapisanie sposobu reakcji na naciśnięcie klawisza Ctrl-C, 34H - funkcja zarezerwowana,

35H pobranie do rejestrów ES:BX wektora przerwań. Przed wywołaniem rejestr AL powinien zawierać numer przerwania (ang.get interrupt vector),

36H - pobranie informacji o wielkoÅ›ci i poÅ‚ożeniu wolnych obszarów na dysku, wskazanym w rejestrze DL (0 - A:,...). Po wykonaniu operacji rejestry zawierajÄ…: BX - liczbÄ™ dostÄ™pnych bloków (ang. cluster), DX - liczbÄ™ bloków na dysku, CX - liczbÄ™ bajtów w sektorze. AX = FFFFH oznacza, że podano bÅ‚Ä™dny numer stacji dysków, w przeciwnym przypadku AX okreÅ›la liczbÄ™ sektorów w bloku (ang. get disk free space ),

37H - funkcja zarezerwowana,

38H - pobranie informacji o sposobie zapisu daty i czasu zależnym od kraju. Przed wywoÅ‚aniem rejestry powinny zawierać: DS:DX - adres 32-bajtowego obszaru pamiÄ™ci, gdzie bÄ™dÄ… wpisane wszystkie informacje, AL zawiera 0 dla bieżącego kodu kraju lub kod kraju (ang. return country dependent Information ).

powered by

9.2. Procedury systemowe MS DOS


Misio!

Funkcje zgodne z funkcjami systemu XENIX (39H... 57H)

39H - utworzenie nowego katalogu. Rejestry DS:DX powinny zawierać adres Å‚aÅ„cucha znaków ASCII definiujÄ…cych Å›cieżkÄ™ dostÄ™pu do katalogu. Po wykonaniu operacji: CF=1 i AX = 3 - nie znaleziono Å›cieżki dostÄ™pu, AX = 5 - niedozwolony dostÄ™p; CF = 0 - operacja bezbÅ‚Ä™dna (ang. create sub-directory),

3AH - usuniÄ™cie pustego (!) katalogu. Rejestry DS:DX jak dla funkcji 39H. Po wykonaniu operacji: CF = 1 i AX = 3 - nie znaleziono Å›cieżki dostÄ™pu, AX = 5 - niedozwolony dostÄ™p lub katalog nie byÅ‚ pusty, AX = 16 - próba usuniÄ™cia bieżącego katalogu; CF = 0 - operacja bezbÅ‚Ä™dna (ang. remove a directory entry ),

3BH - zmiana aktualnego katalogu. Rejestry DS:DX jak dla funkcji 39H. Po wykonaniu operacji: CF=1 i AX = 3 - nie znaleziono ścieżki dostępu; CF = 0 - operacja bezbłędna (ang. change the current directory),

3CH - utworzenie i otwarcie pliku oraz nadanie mu atrybutów. Jeżeli istnieje plik

0    podanej nazwie, to jego zawartość jest utracona. Rejestry DS:DX jak dla funkcji 39H, rejestr CX powinien zawierać atrybuty nadawane plikowi. Po wykonaniu operacji: CF = 1 i AX = 3 - nie znaleziono Å›cieżki dostÄ™pu, AX = 4 - za dużo otwartych plików, AX = 5 - niedozwolony dostÄ™p (np. za maÅ‚o miejsca) (ang. create a file ),

3DH - otwarcie istniejÄ…cego pliku. Rejestr AL definiuje: AL = 0 - plik do odczytu, AL = 1 - plik do zapisu, AL = 2 - plik do zapisu i odczytu. Po wykonaniu operacji: CF=1 i AX = 2 - nie znaleziono pliku, AX = 4 - za dużo otwartych plików, AX = 5 -niedozwolony dostÄ™p; CF = 0 - operacja bezbÅ‚Ä™dna i rejestr AX zawiera numer kanaÅ‚u logicznego (ang. open a file ),

3EH - zamknięcie pliku. Rejestr BX określa numer kanału logicznego przyporządkowanego zamykanemu plikowi. Po wykonaniu operacji: CF=1 i AX = 6 - zły numer kanału; CF = 0 - operacja bezbłędna (ang. close a file handle ),

3FH - odczytanie danych z pliku lub urzÄ…dzenia wejÅ›cia-wyjÅ›cia. Rejestr BX powinien zawierać numer kanaÅ‚u logicznego, rejestr CX natomiast liczbÄ™ bajtów do odczytu. Rejestry DS:DX wskazujÄ… adres bufora dla danych. Jeżeli wystÄ…piÅ‚ bÅ‚Ä…d to CF=1

1    rejestr AX przyjmuje wartość: AX = 5 - odczyt niemożliwy, AX = 6 - zÅ‚y numer kanaÅ‚u. Jeżeli odczyt byÅ‚ poprawny, to CF = 0 i AX zawiera liczbÄ™ przeczytanych bajtów (ang. read from file or device ),

40H - zapis danych do pliku lub urządzenia wejścia-wyjścia. Znaczenie rejestrów takie samo jak dla funkcji 3FH (ang. wrile to a file ordevice ),

41H - usuniÄ™cie pliku. Rejestry DS:DX wskazujÄ… Å‚aÅ„cuch w pamiÄ™ci opisujÄ…cy Å›cieżkÄ™ dostÄ™pu do pliku. Jeżeli po operacji CF= 1, to wystÄ…piÅ‚ bÅ‚Ä…d: AX = 2 - nie znaleziono pliku, AX = 5 - dostÄ™p niemożliwy. Jeżeli operacja bezbÅ‚Ä™dna, to CF = 0 (ang. delete a directory?entry ),

42H - zmiana wskaźnika okreÅ›lajÄ…cego miejsce zapisu (odczytu) w pliku. Znaczenie rejestrów przed operacjÄ…: CX:DX - przesuniÄ™cie liczone w bajtach, BX - numer logiczny kanaÅ‚u, AL - metoda przesuniÄ™cia: AL = 0 - przesuniÄ™cie wzglÄ™dem poczÄ…tku pliku, AL = 1 - wzglÄ™dem aktualnej pozycji,?AL = 2 - wzglÄ™dem koÅ„ca pliku. Jeżeli po wykonaniu operacji CF=* I,- to wystÄ…piÅ‚ bÅ‚Ä…d: AX = l - zÅ‚a zawartość AL, AX=6 - zÅ‚y


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? 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? 3 246 9. Wykorzystanie procedur systemowych w programach użytkowych 06H - bezpośredn
assembler?86? 6 9. Wykorzystanie procedur systemowych w programach użytkowych Mikrokomputery klasy
9 (27) Procedury sortowe Poziomy pracy syf temu â–  poleceni a inrt- sterowanie procesem inicjujÄ…cym s
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

więcej podobnych podstron