assembler€86ˆ 6

assembler€86ˆ 6



252    9. Wykorzystanie procedur systemowych w programach użytkowych

Å›cieżkÄ™ dostÄ™pu do pliku o nowej nazwie. Po wykonaniu operacji CF = 1 informuje o bÅ‚Ä™dzie: AX = 2 - pliku nie znaleziono, AX = 5 - niemożliwy dostÄ™p do pliku, AX = 17 - niezgodność numeru stacji dysków. Jeżeli CF = 0, to operacja wykonaÅ‚a siÄ™ prawidÅ‚owo (ang. move a directory entry; rename file ).

57H - pobranie (zmodyfikowanie) daty (godziny) ostatniego zapisu do pliku. Poszczególne rejestry oznaczajÄ…: AL = 0 - pobranie daty i godziny, AL=1 - zapisanie nowej daty i godziny, BX - numer kanaÅ‚u logicznego, CX - czas (pobrany lub do zapisu), DX - data (pobrana lub do zapisu). Jeżeli po wykonaniu operacji CF = 1, to wystÄ…piÅ‚ bÅ‚Ä…d: AX = 1 - zÅ‚y numer w AL, AX = 6 - zÅ‚y numer kanaÅ‚u. Jeżeli CF = 0, to operacja wykonana zostaÅ‚a prawidÅ‚owo (ang. gett set datÄ™ and time offile ).    v'

93. Przykłady wykorzystania funkcji systemowych

• Przykład wykorzystania funkcji 2AH i 2BH przerwania INT 21H, związanych czasem systemowym.

Procedura DZIEŃ" pobiera datÄ™ z systemu, zwiÄ™ksza o jeden numer dnia miesiÄ…ca i jeżeli potrzeba, także numer miesiÄ…ca oraz roku. Zmodyfikowana data jest ponownie wprowadzana do systemu.

miesiÄ…c db 31,28,31,30,31,30,31,31,30, 31,30,31 DZIEŃ    proc far

mov ah,2AH int 21H inc dl xor bx,bx mov bl,dh dec bx

emp dl,miesiac[bx]

jle koniec mov dl,l inc dh emp dh,12 jle koniec mov dh,l inc cx mov ah,2BH int 21H ret endp


start:


koniec:


DZIEŃ


; funkcja pobrania daty

zwiÄ™kszenie o 1 numeru dnia rejestr BX bÄ™dzie indeksem w rejestrze BL jest numer miesiÄ…ca tablica zaczyna siÄ™ od indeksu 0

czy był ostatni dzień miesiąca ?

nie - wstaw wiÄ™c nowÄ… datÄ™ tak - ustaw dzieÅ„ równy "1" i zwiÄ™ksz o 1 numer miesiÄ…ca czy byÅ‚ już grudzieÅ„ ? nie - wstaw wiÄ™c nowÄ… datÄ™ tak - ustaw miesiÄ…c styczeÅ„ zwiÄ™kszenie o 1 numeru roku funkcja wstawienia daty do systemu wg rejestrów DL,DH,CX

• Przykładowa procedura realizująca operację podobną do zlecenia TYPE w systemie MS-DOS.

Plik PROGRAM.ASM znajdujÄ…cy siÄ™ na dysku w stacji B, zostanie w wyniku dziaÅ‚ania procedury wyÅ›wietlony na ekranie monitora. WyÅ›wietlanie koÅ„czy siÄ™ po napotkaniu kodu znaku Ctrl-Z. W programie korzysta siÄ™ z funkcji 02H, 09H, OFH, 10H, 14H, 1AH wywoÅ‚ywanych przerwaniem INT 21H.

feb db 2,PROGRAM ASM

db

25 dup (?)

bufor

db

128 dup (?),"$"

TYPEl

proc

far

start:

mov

dx,offset bufor

mov

ah,lAH

int

21H

mov

dx,offset feb

mov

ah,0FH

int

21H

czytaj:

mov

dx,offset feb

mov

ah,14H

int

21H

emp

al,02H

je

koniec

emp

al,02H

jg

trochÄ™

mov

dx,offset bufor

mov

ah,09H

int

21H

jmp

czytaj

trochÄ™:

emp

al,03H

jne

koniec

xor

si,si

eof?

emp

bufor[si],26

je

koniec

mov

dl,bufor[si]

mov

ah,02H

int

21H

inc

si

jmp

eof?

koniec:

mov

dx,offset feb

mov

ah,10H

int

ret

21H

TYPE 1

endp


; blok FCB dla pliku ; bufor DTA do transmisji ; deklaracja adresu bufora DTA

; otworzenie pliku dyskowego

odczytanie sekwencyjne rekordu

czy koniec pliku ? lak, koniec procedury czy koniec pliku z częściowym rekordem ? tak nie, zatem wyÅ›wietlenie zawartoÅ›ci bufora na ekran monitora nastÄ™pny rekord częściowy rekord w buforze ? nie, wiÄ™c koniec procedury SI bÄ™dzie indeksem czy w buforze jest Ctrl-Z ?

tak, koniec procedury nie, pobierz znak wyÅ›wietlenie znaku

następny znak

zamknięcie pliku


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? 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
Program zwraca ścieżkę dostępu do danej funkcji, którą można wykorzystać do jej otwarcia. Niestety,
WSiP6 56 BAZY DANYCH I SYSTEMY BAZ DANYCH Związek jeden do jednego (1:1) występuje wówczas, gdy jed
18 Bazy danych Systemy komputerowe pozwalają na dostęp do danych wielu użytkownikom jednocześnie.
WSiP6 56 BAZY DANYCH I SYSTEMY BAZ DANYCH Związek jeden do jednego (1:1) występuje wówczas, gdy jed
Zdj?cie017 Ważne cechy HIS •    Interfejs użytkownika •    Wygodny dos
Slajd17 (31) Cechy systemów rozproszonych Przezroczystość systemu (ang. transparency) - możliwość do

więcej podobnych podstron