strana: 1 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ (C) VVU PrS Kosice ÚÄÄ¿ Verzia 1.0 ³ ³ ³ ³ ÀÄÄÄÄÄ¿ ÚÄÄÄÄÄÙ ³ ³ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ ³ ÀÄÄÄÄÄÄÄ¿ ³ ³ ³ ÚÄÄÄ¿ ³ ³ ÚÄÄÄ¿ ³ ³ ÚÄÄÄÄ¿ ³ ³ ³ ³ ³ÚÄÄÙ ³ ³ ³ ÀÄÄÙ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ÀÄÄÄÄÄÙ ³ ³ ÚÄÄ¿ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÙ ³ ³ ³ ÀÄÄÄÄÄÄ¿ ³ ÀÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÙ ÀÄÄÙ ÀÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿ ³ ÚÄÄÄ¿ ÚÄÄÄ¿ ³ ÀÄÄÄÄÄÄ¿ ³ ³ ÚÄÄÄÄ¿ ³ ÚÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ³ ³ ³ ÚÄÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÙ ³ ³ ³ ³ ³ ÀÄÄÙ ÀÄÄÙ ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÙ ÀÄÄÙ ÀÄÄÙ Hlavne menu Hlavne temy Riadiace bloky DOS & BIOS Sluzby DOS & BIOS Abecedny zoznam stran Vseobecny zoznam Hlavne temy ÕÍÍÍÍÍÍÍÍ» DOS ÉÍÍÍÍÍÍÍ͸ ÕÍ» BIOS & Hardver É͸ ÕÍÍÍÍÍ» Znaky & Kody ÉÍÍÍÍ͸ ³ ÈÍÍÍÍͼ ³ ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ ³ Funkcie DOS ³ ³ Funkcie ROM-BIOS ³ ³ ASCII (submenu) ³ ³ Skupiny funkcii DOS ³ ³ EGA (rozsir.grafika)³ ³ ASCII-Dec-Hex-Bin prevody³ ³ Prerusenia DOS ³ ³ EMS (rozsir.pamat) ³ ³ Okienka a zvlastne znaky ³ ³ ³ ³ ³ ³ ASCII riadiace kody ³ ³ Chybove kody ³ ³ Celkova mapa pamati ³ ³ TabuIka znakov ³ ³ Atributy suborov ³ ³ Pole udajov ROM-BIOS³ ³ ³ ³ Manipulatory suborov ³ ³ Mapa V/V portov ³ ³ Rozsir.znaky ASCII ³ ³ ³ ³ Strukt. pamati CMOS ³ ³ Postupnosti vystupov ANSI³ ³ Drajvery zariadeni ³ ³ ROM-sken ³ ³ Kody tlaciarne Epson/IBM ³ ³ CONFIG.SYS ³ ³ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; ³ Tab. priradenia suboru³ ³ Op.kody 8088/86/286 ³ ³ Prostriedky DOS ³ ³ ³ ³ Start/koniec programu ³ ³ Sken-kody klavesnice³ Vseobecny zoznam ³ Standardny V/V ³ ³ Atributy obrazovky ³ Abecedny zoznam ³ Verzie DOS ³ ³ ³ Riadiace bloky DOS & BIOS ³ O funkciach DOS ³ ³ Nastav. prepinacov ³ Sluzby DOS & BIOS ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; strana: 2 Riadiace bloky DOS & BIOS ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DOS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ PSP Prefix segmentu programu Struktura zahlavia drajvera ³ ³ FCB Riadiaci blok suboru Zahlavie poziadavky drajvera ³ ³ EPB Blok parametrov EXEC Atribut drajvera ³ ³ BPB Blok parametrov BIOS Stavove slovo zariadenia ³ ³ Chyby drajvera zariadenia ³ ³ Chybove kody DOS ³ ³ Zahlavie suboru EXE Informacia o zariadeni IOCTL ³ ³ Informacny blok krajiny Genericke parametre IOCTL 40H/60H ³ ³ Struktura informacneho bloku disku Genericke parametre IOCTL 41H/61H ³ ³ Struktura polozky adresara Genericke parametre IOCTL 42H/62H ³ ³ Atributy suboru ³ ³ Format casu/datumu suboru Prostriedky DOS ³ ³ Riadiaci blok pamati ³ ³ FAT TabuIka priradenia suborov ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ BIOS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Struktura zavadzacieho sektora Struktura pamati CMOS ³ ³ TabuIka rozdelenia disku Struktura bloku ROM-sken ³ ³ TabuIka parametrov pruzneho disku TabuIka parametrov obrazu ³ ³ TabuIka parametrov pevneho disku Oblasti udajov EGA ³ ³ Stavove priznaky klavesnice Atributy obrazovky ³ ³ Zoznam zariadeni (INT 11H) Mody obrazu ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Sluzby DOS & BIOS Sluzby nizkej urovne, ktore poskytuje DOS a ROM-BIOS. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Vztazne menu ³ Funkcie DOS ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Skupiny funkcii DOS Prerusenia DOS Prerusenia a sluzby ROM-BIOS ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Funkcie DOS ³ DOS Fn 00H: Ukoncenie programu ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DOS Fn 01H: Vstup z klavesnice DOS Fn 02H: Zobrazenie znaku DOS Fn 03H: Pomocny vstup DOS Fn 04H: Pomocny vystup DOS Fn 05H: Vystup na tlaciaren DOS Fn 06H: V/V obsluzna jednotka DOS Fn 07H: Nefiltrovany vstup z obsluznej jednotky (OJ) bez odozvy DOS Fn 08H: Vstup z obsluznej jednotky bez odozvy DOS Fn 09H: Zobrazenie retazca DOS Fn 0aH: Vstup retazca do vyrovnavacej pamati DOS Fn 0bH: Kontrola vstupneho statusu DOS Fn 0cH: Vymaz a vstup DOS Fn 0dH: Vymaz disku DOS Fn 0eH: Vyber standardneho disku DOS DOS Fn 0fH: Otvorenie suboru cez FCB DOS Fn 10H: Uzavretie suboru cez FCB DOS Fn 11H: Najdenie prveho cez pomocou FCB DOS Fn 12H: Najdenie nasl. suboru cez FCB DOS Fn 13H: Zrusenie suboru cez FCB strana: 3 DOS Fn 14H: Citanie sekvencneho suboru cez FCB DOS Fn 15H: Zaznam sekvencneho suboru cez FCB DOS Fn 16H: Vytvorenie suboru cez FCB DOS Fn 17H: Premenovanie suboru cez FCB DOS Fn 19H: Zistenie standardneho disku DOS DOS Fn 1aH: Nastavenie DTA DOS Fn 1bH: Zistenie informacie FAT (aktualny disk) DOS Fn 1cH: Zistenie informacie FAT (IubovoIny disk) DOS Fn 21H: Citanie rozptyleneho zaznamu DOS Fn 22H: Zapis rozptyleneho zaznamu DOS Fn 23H: Zistenie veIkosti suboru cez FCB DOS Fn 24H: Nastavenie adresy rozptyleneho bloku DOS Fn 25H: Nastavenie vektora prerusenia DOS Fn 26H: Vytvorenie PSP DOS Fn 27H: Citanie rozptyleneho bloku DOS Fn 28H: Zapis rozptyleneho bloku DOS Fn 29H: Syntakticka analyza nazvu suboru DOS Fn 2aH: Zistenie datumu DOS DOS Fn 2bH: Nastavenie datumu DOS DOS Fn 2cH: Zistenie casu DOS DOS Fn 2dH: Nastavenie casu DOS DOS Fn 2eH: Nastavenie/zrusenie verifikacneho prepinaca DOS Fn 2fH: Zistenie aktualnej DTA DOS Fn 30H: Zistenie cisla verzie DOS DOS Fn 31H: Ukoncenie a uchovanie v pamati--KEEP DOS Fn 32H: Zistenie informacie o disku DOS (nedokumentovane) DOS Fn 33H: Nastavenie/dotaz na kontrolnu roven Break DOS DOS Fn 34H: Stavova adresa navratu DOS DOS Fn 35H: Zistenie vektora prerusenia DOS Fn 36H: Zistenie voIneho priestoru na disku DOS Fn 37H: Nastavenie/dotaz prepinacich znakov (nedokumentovane) DOS Fn 38H: Zistenie/nastavenie informacii o krajine DOS Fn 39H: Vytvorenie noveho adresara--MKDIR DOS Fn 3aH: Zrusenie adresara--RMDIR DOS Fn 3bH: Nastavenie standardneho adresara DOS--CHDIR DOS Fn 3cH: Vytvorenie manipulatora suboru DOS Fn 3dH: Otvorenie manipulatora suboru DOS Fn 3eH: Uzavretie manipulatora suboru DOS Fn 3fH: Citanie zo suboru pomocou manipulatora DOS Fn 40H: Zapis do suboru pomocou manipulatora DOS Fn 41H: Zrusenie suboru DOS Fn 42H: Nastavenie ukazovateIa suboru--LSEEK DOS Fn 43H: Nastavenie/dotaz atributov suboru--CHMOD DOS Fn 44H: Riadenie V/V zariadenia--IOCTL DOS Fn 45H: Kopirovanie manipulatora suboru--DUP DOS Fn 46H: Presmerovanie manipulatora--FORCDUP DOS Fn 47H: Urcenie standardneho adresara DOS DOS Fn 48H: Priradenie pamati (zistenie kapacity pamati) DOS Fn 49H: Blok voIneho miesta v pamati DOS Fn 4aH: Zhustenie alebo rozsirenie pamatoveho bloku DOS Fn 4bH: Prevedenie alebo zavedenie programu--EXEC DOS Fn 4cH: Ukoncenie programu--EXIT DOS Fn 4dH: Zistenie vystupneho kodu programu--WAIT DOS Fn 4eH: Najdenie prveho suboru DOS Fn 4fH: Najdenie nasledujuceho suboru DOS Fn 54H: Zistenie verifikacneho prepinaca DOS strana: 4 DOS Fn 56H: Premenovanie/presun suboru DOS Fn 57H: Nastavenie/dotaz suboru cas/datum DOS Fn 59H: Zistenie rozsirenej informacie o chybe DOS Fn 5aH: Vytvorenie specifickeho docasneho suboru DOS Fn 5bH: Vytvorenie noveho suboru DOS Fn 5cH: Blokovany/odblokovany pristup k suboru DOS Fn 5eH: Rozne funkcie siete DOS Fn 5fH: Presmerovanie zariadenia siete DOS Fn 62H: Zistenie adresy PSP ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Prerusenia DOS ³ INT 20H Ukoncenie programu ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ INT 21H Sluzby DOS INT 22H Adresa ukoncenia INT 23H Adresa Ctrl-Break INT 24H Adresa osetrujuceho programu kritickych chyb INT 25H/26H Citanie z disku / Zapis na disk INT 27H Ukoncenie, ale uchovanie v pamati INT 28H Casove intervaly DOS (nedokumentovane) INT 2eH Prevedenie prikazov DOS (nedokumentovane) INT 2fH Viacnasobne prerusenie ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Prerusenia ROM-BIOS ³ INT 00H Delenie nulou ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ INT 01H Jednotlivy krok INT 02H NemaskovateIny INT 03H Miesto prerusenia INT 04H Pretecenie INT 05H Tlac obrazovky INT 08H Casovac INT 09H Klavesnica INT 0eH Disketa INT 10H Videosluzby Obrazove sluzby Sluzby EGA BIOS INT 11H Zoznam zariadeni INT 12H Pouzitie veIkosti pamati INT 13H V/V disku INT 14H Seriovy V/V port INT 15H Rozsirene sluzby AT INT 16H V/V klavesnice INT 17H V/V tlaciarne INT 18H ROM-BASIC INT 19H Samozavadzanie INT 1aH V/V cas INT 1bH Ctrl-Break klavesnice INT 1cH Prerusenie uzivateIskeho casovaca INT 67H: Funkcie EMM ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Abecedny zoznam stran/tem Zoznam stran/tem v abecednom poradi ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ A ³ Aritmeticke instrukcie ÀÄÄÄÙ ASCII strana: 5 ASCIIDecimalneHexadecimalneBinarne prevody ASCII riadiace kody Atributy drajvera Automaticky test po zapnuti ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ B ³ Blok informacii o krajine ÀÄÄÄÙ Blok parametrov BIOS (BPB) Blok parametrov EXEC (EBP) ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ C ³ Celkova mapa pamati ÃÄÄÄ´ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ D ³ DOS Fn 5cH: Blokovany/odblokovany pristup k suboru ÀÄÄÄÙ DOS Fn 49H: Blok voIneho miesta v pamati DOS Fn 27H: Citanie rozptyleneho bloku DOS Fn 21H: Citanie rozptyleneho zaznamu DOS Fn 14H: Citanie sekvencneho suboru cez FCB DOS Fn 3fH: Citanie zo suboru pomocou manipulatora DOS Fn 0bH: Kontrola vstupneho statusu DOS Fn 45H: Kopirovanie manipulatora suboru--DUP DOS Fn 4fH: Najdenie nasledujuceho suboru DOS Fn 12H: Najdenie nasledujuceho suboru cez FCB DOS Fn 11H: Najdenie prveho cez pomocou FCB DOS Fn 4eH: Najdenie prveho suboru DOS Fn 43H: Nastavenie/dotaz atributov suboru--CHMOD DOS Fn 33H: Nastavenie/dotaz na kontrolnu roven Break DOS DOS Fn 37H: Nastavenie/dotaz prepinacich znakov (nedokumentovane) DOS Fn 57H: Nastavenie/dotaz suboru cas/datum DOS Fn 2eH: Nastavenie/zrusenie verifikacneho prepinaca DOS Fn 24H: Nastavenie adresy rozptyleneho bloku DOS Fn 2dH: Nastavenie casu DOS DOS Fn 2bH: Nastavenie datumu DOS DOS Fn 1aH: Nastavenie DTA DOS Fn 3bH: Nastavenie standardneho adresara DOS--CHDIR DOS Fn 42H: Nastavenie ukazovateIa suboru--LSEEK DOS Fn 25H: Nastavenie vektora prerusenia DOS Fn 07H: Nefiltrovany vstup z obsluznej jednotky (OJ) bez odozvy DOS Fn 3dH: Otvorenie manipulatora suboru DOS Fn 0fH: Otvorenie suboru cez FCB DOS Fn 03H: Pomocny vstup DOS Fn 04H: Pomocny vystup DOS Fn 56H: Premenovanie/presun suboru DOS Fn 17H: Premenovanie suboru cez FCB DOS Fn 46H: Presmerovanie manipulatora--FORCDUP DOS Fn 5fH: Presmerovanie zariadenia siete DOS Fn 4bH: Prevedenie alebo zavedenie programu--EXEC DOS Fn 48H: Priradenie pamati (zistenie kapacity pamati) DOS Fn 44H: Riadenie V/V zariadenia--IOCTL DOS Fn 5eH: Rozne funkcie siete DOS Fn 34H: Stavova adresa navratu DOS DOS Fn 29H: Syntakticka analyza nazvu suboru DOS Fn 31H: Ukoncenie a uchovanie v pamati--KEEP DOS Fn 00H: Ukoncenie programu DOS Fn 4cH: Ukoncenie programu--EXIT DOS Fn 47H: Urcenie standardneho adresara DOS DOS Fn 3eH: Uzavretie manipulatora suboru DOS Fn 10H: Uzavretie suboru cez FCB strana: 6 DOS Fn 06H: V/V obsluzna jednotka DOS Fn 01H: Vstup z klavesnice DOS Fn 08H: Vstup z obsluznej jednotky bez odozvy DOS Fn 0aH: Vstup retazca do vyrovnavacej pamati DOS Fn 3cH: Vytvorenie manipulatora suboru DOS Fn 39H: Vytvorenie noveho adresara--MKDIR DOS Fn 5bH: Vytvorenie noveho suboru DOS Fn 26H: Vytvorenie PSP DOS Fn 16H: Vytvorenie suboru cez FCB DOS Fn 5aH: Vytvorenie specifickeho docasneho suboru DOS Fn 0eH: Vyber standardneho disku DOS DOS Fn 0cH: Vymaz a vstup DOS Fn 0dH: Vymaz disku DOS Fn 05H: Vystup na tlaciaren DOS Fn 40H: Zapis do suboru pomocou manipulatora DOS Fn 28H: Zapis rozptyleneho bloku DOS Fn 22H: Zapis rozptyleneho zaznamu DOS Fn 15H: Zaznam sekvencneho suboru cez FCB DOS Fn 4aH: Zhustenie alebo rozsirenie pamatoveho bloku DOS Fn 38H: Zistenie/nastavenie informacii o krajine DOS Fn 62H: Zistenie adresy PSP DOS Fn 2fH: Zistenie aktualnej DTA DOS Fn 2cH: Zistenie casu DOS DOS Fn 30H: Zistenie cisla verzie DOS DOS Fn 2aH: Zistenie datumu DOS DOS Fn 1bH: Zistenie informacie FAT (aktualny disk) DOS Fn 1cH: Zistenie informacie FAT (IubovoIny disk) DOS Fn 32H: Zistenie informacie o disku DOS (nedokumentovane) DOS Fn 59H: Zistenie rozsirenej informacie o chybe DOS Fn 19H: Zistenie standardneho disku DOS DOS Fn 23H: Zistenie veIkosti suboru cez FCB DOS Fn 35H: Zistenie vektora prerusenia DOS Fn 54H: Zistenie verifikacneho prepinaca DOS DOS Fn 36H: Zistenie voIneho priestoru na disku DOS Fn 4dH: Zistenie vystupneho kodu programu--WAIT DOS Fn 09H: Zobrazenie retazca DOS Fn 02H: Zobrazenie znaku DOS Fn 3aH: Zrusenie adresara--RMDIR DOS Fn 41H: Zrusenie suboru DOS Fn 13H: Zrusenie suboru cez FCB ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ E ³ EGA - adapter rozsirenej grafiky ÀÄÄÄÙ EMS - specikacia rozsirenej pamati ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ F ³ Format casu/datumu suboru ÀÄÄÄÙ Funkcie adresara a suborov Funkcie DOS Funkcie EMM (riadiaci program rozsirenej pamati) Funkcie klavesnice AT Funkcie riadenia procesu Funkcie systemovych informacii Funkcie V/V znakov ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ G ³ Genericke parametre IOCTL (CL=40H,60H) ÀÄÄÄÙ Genericke parametre IOCTL (CL=41H,61H) strana: 7 Genericke parametre IOCTL (CL=42H,62H) ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ H ³ Hlavne menu ÀÄÄÄÙ Hlavne temy ÚÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ CH ³ Chyby drajvera zariadenia ÀÄÄÄÄÙ Chybove kody DOS ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ I ³ Informacia o zariadeni IOCTL ÀÄÄÄÙ InstalovateIne drajvery zariadeni Instrukcie prenosu udajov Instrukcie retazcovych operacii Instrukcie riadenia ochrany Instrukcie riadenia procesu INT 23H: Adresa Ctrl-Break INT 24H: Adresa osetrujuceho programu kritickych chyb INT 22H: Adresa ukoncenia INT 1bH: Ctrl-Break klavesnice INT 08H: Casovac INT 28H: Casove intervaly DOS (nedokumentovane) INT 25H/26H: Citanie z disku / Zapis na disk INT 00H: Delenie nulou INT 0eH: Disketa INT 01H: Jednotlivy krok INT 09H: Klavesnica INT 03H: Miesto prerusenia INT 02H: NemaskovateIny INT 12H: Pouzitie veIkosti pamati INT 1cH: Prerusenie uzivateIskeho casovaca INT 04H: Pretecenie INT 2eH: Prevedenie prikazov DOS (nedokumentovane) INT 18H: ROM-BASIC INT 15H: Rozsirene sluzby AT INT 19H: Samozavadzanie INT 14H: Seriovy V/V port INT 21H: Sluzby DOS INT 05H: Tlac obrazovky INT 1fH: UkazovateI grafickych znakov INT 1dH: UkazovateI obrazovych parametrov INT 27H: Ukoncenie, ale uchovanie v pamati INT 20H: Ukoncenie programu INT 1aH: V/V cas INT 13H: V/V disku INT 16H: V/V klavesnice INT 17H: V/V tlaciarne INT 2fH: Viacnasobne prerusenie INT 10H: Videosluzby INT 11H: Zoznam zariadeni ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ K ³ Kod chyby disku (vratene z INT 13H) ÀÄÄÄÙ Kompatibilita systemu ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ M ³ Manipulator suboru ÀÄÄÄÙ Mapa V/V portov Mod otvorenia Mod pristupu ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ N ³ Nastavenie prepinacov ÀÄÄÄÙ strana: 8 Nastavenie prepinacov AT Nastavenie prepinacov EGA Nastavenie prepinacov PC Nastavenie prepinacov XT ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ O ³ Oblasti udajov EGA ÀÄÄÄÙ Obrazove sluzby O funkciach DOS Okienka, ciary a zvlastne znaky ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ P ³ Popisovac medii ÀÄÄÄÙ Porty asynchronnych radicov Porty DMA Porty paralelneho radica tlaciarne Porty pevneho disku AT Porty pevneho disku XT Porty radica pruzneho disku Postupnosti ANSI vystupov obsluznej jednotky Prefix segmentu programu (PSP) Premenne ROM-BIOS Prerusenia a sluzby ROM-BIOS Prerusenia DOS Priestor druhotnych operacnych kodov Prostriedky DOS ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ R ³ Riadiace bloky DOS & BIOS ÀÄÄÄÙ Riadiace funkcie pamati Riadiace instrukcie vykonavania Riadiace kody tlaciarne EPSON/IBM Riadiaci blok pamati (MCB) Riadiaci blok suboru (FCB) ROM-sken Rozsirene klavesy ASCII Rozne funkcie DOS ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ S ³ Sluzby EGA BIOS ÀÄÄÄÙ Sken-kody klavesnice Skupina instrukcii 8088/8086/286 Skupiny funkcii DOS Stav EMM Stavove priznaky klavesnice (SHIFT) Stavove slovo zariadenia Subor CONFIG.SYS Standardny V/V Start a ukoncenie programu Struktura informacneho bloku disku Struktura pamati CMOS Struktura polozky adresara Struktura zavadzacieho sektora Struktura zahlavia drajvera Struktura zahlavia suboru EXE ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ T ³ TabuIka informacneho suboru ÀÄÄÄÙ TabuIka parametrov obrazu TabuIka parametrov pevneho disku strana: 9 TabuIka parametrov pruzneho disku TabuIka priradenia suborov (FAT) TabuIka rozdelenia disku TabuIka suboru znakov Tradicny V/V subor FCB ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ V ³ V/V manipulatorovy subor ÀÄÄÄÙ V/V porty V/V port pre hry V/V porty adaptera farby/grafiky V/V porty rozsireneho grafickeho adaptera Verzie DOS Vseobecny zoznam ÚÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Z ³ Zahlavie poziadavky na drajver ÀÄÄÄÙ Zaklady drajvera zariadenia Zoznam zariadeni ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Vseobecny zoznam stran/tem Zoznam stran/tem zoskupenych predmetovo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Adaptery displeja ³ Atributy obrazovky ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ EGA - adapter rozsirenej grafiky (Submenu) INT 10H: Videosluzby V/V porty adaptera farby/grafiky TabuIka parametrov obrazu Obrazove sluzby ÚÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ ANSI.SYS ³ Postupnosti ANSI vystupov obsluznej jednotky ÀÄÄÄÄÄÄÄÄÄÄÙ Subor CONFIG.SYS ÚÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ ASCII ³ ASCII a ASCIIZ (Submenu) ÀÄÄÄÄÄÄÄÙ Okienka, ciary a zvlastne znaky Riadiace kody tlaciarne EPSON/IBM Rozsirene klavesy ASCII TabuIka suboru znakov ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Asynchronne V/V ³ DOS Fn 03H: Pomocny vstup ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DOS Fn 04H: Pomocny vystup INT 14H: Seriovy V/V port Porty asynchronnych radicov ÚÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ AT ³ Funkcie klavesnice AT ÀÄÄÄÄÙ Kompatibilita systemu Nastavenie prepinacov AT Porty pevneho disku AT INT 15H: Rozsirene sluzby AT Struktura pamati CMOS ÚÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Atributy ³ Atributy drajvera ÀÄÄÄÄÄÄÄÄÄÄÙ Atributy obrazovky Atributy suboru Informacia o zariadeni IOCTL ÚÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ BIOS ³ Vid ROM-BIOS ÃÄÄÄÄÄÄÁÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ COMMAND.COM ³ DOS Fn 4bH: Prevedenie alebo zavedenie programu--EXECÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ strana: 10 DOS Fn 30H: Zistenie cisla verzie DOS Prostriedky DOS Standardny V/V Start a ukoncenie programu ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Disk & Diskety ³ Porty DMA ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Porty pevneho disku AT Porty pevneho disku XT Porty radica pruzneho disku ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ diskove sluzby DOS Subor CONFIG.SYS (RAM disk & logicky disk) DOS Fn 1aH: Nastavenie DTA DOS Fn 44H: Riadenie V/V zariadenia--IOCTL DOS Fn 0eH: Vyber standardneho disku DOS DOS Fn 0dH: Vymaz disku DOS Fn 2fH: Zistenie aktualnej DTA DOS Fn 32H: Zistenie informacie o disku DOS (nedokumentovane) DOS Fn 19H: Zistenie standardneho disku DOS DOS Fn 36H: Zistenie voIneho priestoru na disku InstalovateIne drajvery zariadeni INT 25H/26H: Citanie z disku / Zapis na disk ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ diskove sluzby ROM-BIOS INT 0eH: Disketa INT 13H: V/V disku Kod chyby disku (vratene z INT 13H) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ pristup k suborom na disku Vid DOS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ struktury adresara a suboru Vid DOS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ struktury a tabuIky udajov Blok parametrov BIOS (BPB) Genericke parametre IOCTL (CL=40H,60H) Genericke parametre IOCTL (CL=41H,61H) Genericke parametre IOCTL (CL=42H,62H) Popisovac medii Riadiace bloky DOS & BIOS (Submenu) Struktura pamati CMOS Struktura zavadzacieho sektora TabuIka parametrov pevneho disku TabuIka parametrov pruzneho disku TabuIka rozdelenia disku ÚÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ DMA ³ Porty DMA ÀÄÄÄÄÄÙ Porty pevneho disku AT Porty pevneho disku XT Porty radica pruzneho disku ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ DOS (PC-DOS & MS-DOS) ³ Funkcie DOS (Submenu) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Chybove kody DOS Manipulator suboru O funkciach DOS Prerusenia DOS (Submenu) Prostriedky DOS Skupiny funkcii DOS (Submenu) strana: 11 Subor CONFIG.SYS Standardny V/V Start a ukoncenie programu Verzie DOS TabuIka priradenia suborov (FAT) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ drajvery DOS Vid drajvery ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ pristup k suborom na disku Atributy suboru Funkcie adresara a suborov Manipulator suboru Mod pristupu / Mod otvorenia Riadiaci blok suboru (FCB) Standardny V/V Tradicny V/V subor FCB V/V manipulatorovy subor ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ struktury a tabuIky udajov Atributy suboru Blok parametrov EXEC (EBP) Format casu/datumu suboru Popisovac medii Prefix segmentu programu (PSP) Prostriedky DOS Riadiace bloky DOS & BIOS (Submenu) Riadiaci blok suboru (FCB) Struktura informacneho bloku disku Struktura polozky adresara Struktura zahlavia suboru EXE TabuIka priradenia suborov (FAT) ÚÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Drajvery ³ Atributy drajvera ÀÄÄÄÄÄÄÄÄÄÄÙ DOS Fn 44H: Riadenie V/V zariadenia--IOCTL Chyby drajvera zariadenia InstalovateIne drajvery zariadeni (Submenu) Subor CONFIG.SYS Stavove slovo zariadenia Struktura zahlavia drajvera Struktura poziadavky na drajver Zaklady drajvera zariadenia Zahlavie poziadavky na drajver ÚÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Format ³ DOS Fn 44H: Riadenie V/V zariadenia--IOCTL ÀÄÄÄÄÄÄÄÄÙ INT 13H: V/V disku Popisovac medii Struktura zavadzacieho sektora TabuIka parametrov pruzneho disku TabuIka priradenia suborov (FAT) TabuIka rozdelenia disku ÚÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Chyby ³ DOS Fn 59H: Zistenie rozsirenej informacie o chybe ÀÄÄÄÄÄÄÄÙ Chybove kody DOS Chyby drajvera zariadenia INT 24H: Adresa osetrujuceho programu kritickych chyb Kod chyby disku (vratene z INT 13H) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Informacie o krajine ³ Blok informacii o krajine ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ strana: 12 DOS Fn 38H: Zistenie/nastavenie informacii o krajine Subor CONFIG.SYS ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Instalovat. zariadenia ³ INT 11H: Zoznam zariadeni ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Struktura pamati CMOS (tiez zoznamy typov diskov) Zoznam zariadeni (priznak. bity instalovany/aktivny) ÚÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ IOCTL ³ Atributy drajvera ÀÄÄÄÄÄÄÄÙ DOS Fn 44H: Riadenie V/V zariadenia--IOCTL Genericke parametre IOCTL (CL=40H,60H) Genericke parametre IOCTL (CL=41H,61H) Genericke parametre IOCTL (CL=42H,62H) Informacia o zariadeni IOCTL Struktura poziadavky na drajver ÚÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Joystick ³ V/V porty ÀÄÄÄÄÄÄÄÄÄÄÙ V/V port pre hry Zoznam zariadeni ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Klavesnica ³ Funkcie klavesnice AT ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ Funkcie V/V znakov INT 09H: Klavesnica INT 16H: V/V klavesnice Rozsirene klavesy ASCII Sken-kody klavesnice Stavove priznaky klavesnice (SHIFT) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Nastavenie prepinacov ³ Automaticky test po zapnuti ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ INT 11H: Zoznam zariadeni Struktura pamati CMOS Zoznam zariadeni Nastavenie prepinacov (Submenu) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Operacne kody ³ Priestor druhotnych operacnych kodov ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Skupina instrukcii 8088/8086/286 TabuIka informacneho suboru ÚÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Pamat ³ Celkova mapa pamati ÀÄÄÄÄÄÄÄÙ INT 12H: Pouzitie veIkosti pamati INT 15H: Rozsirene sluzby AT (RAM nad 1 megabajt) INT 11H: Zoznam zariadeni Nastavenie prepinacov (nastavenie systemovej pamati) Prefix segmentu programu (PSP) Premenne ROM-BIOS (podrobna mapa pamati) Riadiaci blok pamati (MCB) Riadiace funkcie pamati ROM-sken Subor CONFIG.SYS (RAM disk VDISK.SYS) Specikacia rozsirenej pamati (L/I/M EMS) Start a ukoncenie programu (pridelenie pamati) Struktura pamati CMOS (energeticky nezavisla pamat) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ softver rezidentny v pamati DOS Fn 31H: Ukoncenie a uchovanie v pamati--KEEP INT 08H: Casovac INT 09H: Klavesnica strana: 13 INT 27H: Ukoncenie, ale uchovanie v pamati ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Pevny disk ³ Vid Disk a diskety ÃÄÄÄÄÄÄÄÂÄÄÄÄÙ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Porty ³ Instrukcie prenosu udajov ÀÄÄÄÄÄÄÄÙ Mapa V/V portov (Submenu) V/V porty ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Prerusenia ³ DOS Fn 25H: Nastavenie vektora prerusenia ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ DOS Fn 35H: Zistenie vektora prerusenia Prerusenia a sluzby ROM-BIOS (Submenu) Prerusenia DOS (Submenu) Riadiace instrukcie procesora ÚÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ ROM-BIOS ³ Automaticky test po zapnuti ÀÄÄÄÄÄÄÄÄÄÄÙ Celkova mapa pamati Premenne ROM-BIOS Prerusenia a sluzby ROM-BIOS (Submenu) Riadiace bloky DOS & BIOS ROM-sken ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Rozsireny graf.adapter ³ EGA - adapter rozsirenej grafiky (Submenu) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Nastavenie prepinacov EGA Oblasti udajov EGA Sluzby EGA BIOS V/V porty rozsireneho grafickeho adaprera ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Seriovy V/V ³ Vid Asynchronne V/V ÃÄÄÄÄÄÄÄÄÂÄÄÄÄÙ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Subory ³ Vid DOS ÃÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Specif. rozsir. pamati ³ Funkcie EMM (riadiaci program rozsirenej pamati) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Stav EMM Specikacia rozsirenej pamati (L/I/M EMS) ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Tlaciaren ³ DOS Fn 05H: Vystup na tlaciaren ÀÄÄÄÄÄÄÄÄÄÄÄÙ Funkcie V/V znakov INT 17H: V/V tlaciarne INT 2fH: Viacnasobne prerusenie Porty paralelneho radica tlaciarne Riadiace kody ASCII Riadiace kody tlaciarne EPSON/IBM ÚÄÄÄÄÄÄÄ¿ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Znaky ³ ASCII (Submenu) ÀÄÄÄÄÄÄÄÙ Funkcie V/V znakov (Submenu) Okienka, ciary a zvlastne znaky Postupnosti ANSI vystupov obsluznej jednotky ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Riadiaci blok suboru (FCB) Posun VeI. Obsah ßßßßß ßßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ÚÄÄÄ¿ Í Í Í Í Í Í Í Í Í Í Í Í Í» -7 1 ³ffH³ priznak rozsireneho FCB º ÃÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º -6 5 ³rezervovana oblast DOS ³ ÌÍ pouzivane len ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ º pri rozsirenom FCB -1 1 ³ ³ atribut suboru º ßßßßßßßßßßßßßß ÀÄÄÄÙ Í Í Í Í Í Í Í Í Í Í Í Í Í¼ strana: 14 ÚÄÄÄ¿ +0 1 ³Drv³ zariadenie ID (pred otvorenim: 0=implicitne, 1=A, atd; ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ po otvoreni: 0=A, 1=B, atd.) +1 8 ³'F' 'I' 'L' 'E' 'N' 'A' 'M' 'E'³ Meno suboru; 1 az 8 znakov, zIava ÃÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ zarovnane, doplnene prazdn. znakmi +9 3 ³'E' 'X' 'T'³ Rozsirenie; 0 az 3 znaky, zIava ÃÄÄÄÁÄÄÄÅÄÄÄÙ zarovnane, doplnene prazdn. znakmi +0cH 2 ³CurBlk ³ aktualne cislo bloku ÃÄÄÄÁÄÄÄ´ +0eH 2 ³RecSize³ veIkost logickeho zaznamu ÃÄÄÄÁÄÄÄÅÄÄÄÂÄÄÄ¿ (v bajtoch) +10H 4 ³file size ³ dlzka suboru (dolne slovo je prve) ÃÄÄÄÄÄÄÄÅÄÄÄÁÄÄÄÙ +14H 2 ³ date ³ modifikovany datum vo formate ÃÄÄÄÁÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ cas suboru +16H 0aH ³ rezervovana oblast DOS ³ ÃÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +20H 2 ³CurRec ³ cislo zaznamu v bloku (0-7fH) ÃÄÄÄÁÄÄÄÁÄÄÄÂ Ä ¿ +21H 4 ³Random Rec cislo zaznamu v subore (pre rozptylene subory) ÀÄÄÄÁÄÄÄÁÄÄÄÁ Ä Ù (posledny bajt sa pouziva len ked rec_size < 64) 25H veIkost otvoreneho FCB Poznamky: pred otvorenim suboru potrebujete naplnit len pole Drv a 11 bajtov mena subo- ru a rozsirenia (napr.: db 0,'MYFILE TXT') a nechat priestor pre DOS, aby vy- plnil ostatne polia. 'Neotvoreny' FCB je prvych 12 bajtov (Drv, Filename, Ext) plus dostatocny priestor pre ostatne polia. 'Otvoreny' FCB musi mat ostatne polia vyplnene. Ak pole Drv bolo 0,DOS ho nastavi na cislo aktualneho zariadenia (0=A, 1=B, atd.). vsetky funkcie, ktore bude mat FCB, bude mat tiez rozsireny FCB. Adresa FCB je ta ista; ak ma FCB-7 hodnotu 0ffH, predpoklada sa rozsireny FCB. ak chcete urcit atribut suboru, ktory otvarate, vytvarate, premenuvate alebo hIadate pomocou funkcii FCB, pouzite rozsireny FCB. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NEDOKUMENTOVANE Dobra povest IBM je vybudovana na spoIahlivosti a kompatibilite "smerom hore". Ked sa v publikacii schvalenej IBM prehlasi, ze urcite vlastnosti alebo funkcie alebo adresy BIOS, adresy DOS, alebo hardveru mozu byt pouzite pre programove aplikacie, potom si mozeme byt dost isti, ze tieto budu pouzite aj v buducnosti. Informacie, dodavane v manuale TechMan, su cerpane z roznych zdrojov, hlavne z publikacii, ktore boli schvalene firmami IBM a/alebo Microsoft, ako aj z clankov v casopisoch a knihach, ktore su sprievodne k tymto zdrojom. Len v niektorych pripadoch podava TechMan informacie, ktore nie su schvalene IBM alebo Microsoft a tieto informacie su zreteIne vyznacene. Ak si vyberiete na pouzitie nejaku takuto informaciu, musite si byt vedomi toho, ze informacia NEMUSl byt aplikovateIna v buducich verziach DOS, BIOS alebo hardveru. strana: 15 Funkcie DOS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 00h Ukoncenie programu 01H Vstup z klavesnice 02H Zobrazenie znaku 03H Pomocny vstup 04H Pomocny vystup 05H Vystup na tlaciaren 06H V/V obsluzna jednotka 07H Nefiltrovany vstup z obsluznej jednotky (OJ) bez odozvy 08H Vstup z obsluznej jednotky bez odozvy 09H Zobrazenie retazca 0aH Vstup retazca do vyrovnavacej pamati 0bH Kontrola vstupneho statusu 0cH Vymaz a vstup 0dH Vymaz disku 0eH Vyber standardneho disku DOS 0fH Otvorenie suboru cez FCB 10H Uzavretie suboru cez FCB 11H Najdenie prveho cez pomocou FCB 12H Najdenie nasl. suboru cez FCB 13H Zrusenie suboru cez FCB 14H Citanie sekvencneho suboru cez FCB 15H Zaznam sekvencneho suboru cez FCB 16H Vytvorenie suboru cez FCB 17H Premenovanie suboru cez FCB 19H Zistenie standardneho disku DOS 1aH Nastavenie DTA 1bH Zistenie informacie FAT (aktualny disk) 1cH Zistenie informacie FAT (IubovoIny disk) 21H Citanie rozptyleneho zaznamu 22H Zapis rozptyleneho zaznamu 23H Zistenie veIkosti suboru cez FCB 24H Nastavenie adresy rozptyleneho bloku 25H Nastavenie vektora prerusenia 26H Vytvorenie PSP 27H Citanie rozptyleneho bloku 28H Zapis rozptyleneho bloku 29H Syntakticka analyza nazvu suboru 2aH Zistenie datumu DOS 2bH Nastavenie datumu DOS 2cH Zistenie casu DOS 2dH Nastavenie casu DOS 2eH Nastavenie/zrusenie verifikacneho prepinaca 2fH Zistenie aktualnej DTA 30H Zistenie cisla verzie DOS 31H Ukoncenie a uchovanie v pamati--KEEP 32H Zistenie informacie o disku DOS (nedokumentovane) 33H Nastavenie/dotaz na kontrolnu roven Break DOS 34H Stavova adresa navratu DOS 35H Zistenie vektora prerusenia strana: 16 36H Zistenie voIneho priestoru na disku 37H Nastavenie/dotaz prepinacich znakov (nedokumentovane) 38H Zistenie/nastavenie informacii o krajine 39H Vytvorenie noveho adresara--MKDIR 3aH Zrusenie adresara--RMDIR 3bH Nastavenie standardneho adresara DOS--CHDIR 3cH Vytvorenie manipulatora suboru 3dH Otvorenie manipulatora suboru 3eH Uzavretie manipulatora suboru 3fH Citanie zo suboru pomocou manipulatora 40H Zapis do suboru pomocou manipulatora 41H Zrusenie suboru 42H Nastavenie ukazovateIa suboru--LSEEK 43H Nastavenie/dotaz atributov suboru--CHMOD 44H Riadenie V/V zariadenia--IOCTL 45H Kopirovanie manipulatora suboru--DUP 46H Presmerovanie manipulatora--FORCDUP 47H Urcenie standardneho adresara DOS 48H Priradenie pamati (zistenie kapacity pamati) 49H Blok voIneho miesta v pamati 4aH Zhustenie alebo rozsirenie pamatoveho bloku 4bH Prevedenie alebo zavedenie programu--EXEC 4cH Ukoncenie programu--EXIT 4dH Zistenie vystupneho kodu programu--WAIT 4eH Najdenie prveho suboru 4fH Najdenie nasledujuceho suboru 54H Zistenie verifikacneho prepinaca DOS 56H Premenovanie/presun suboru 57H Nastavenie/dotaz suboru cas/datum 59H Zistenie rozsirenej informacie o chybe 5aH Vytvorenie specifickeho docasneho suboru 5bH Vytvorenie noveho suboru 5cH Blokovany/odblokovany pristup k suboru 5eH Rozne funkcie siete 5fH Presmerovanie zariadenia siete 62H Zistenie adresy PSP ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Skupiny funkcii DOS Informacie o systeme Vstup/Vystup znaku V/V manipulatorovy subor Tradicny V/V subor FCB Adresar a funkcie suborov Riadenie procesu Riadiace funkcie pamati Rozne Drajvery zariadeni ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 17 Prerusenia DOS INT 20H Ukoncenie programu INT 21H Sluzby DOS INT 25H/26H Citanie z disku / Zapis na disk INT 27H Ukoncenie, ale uchovanie v pamati INT 28H Casove intervaly DOS (nedokumentovane) INT 2eH Prevedenie prikazov DOS (nedokumentovane) INT 2fH Viacnasobne prerusenie (riad. paralelnej tlace) ÍÍÍÍÍÍÍÍÍÍ Ukazovatele adries (nepouziva sa ako programove prerusenie)ÍÍÍÍÍÍÍÍÍÍ INT 22H Adresa ukoncenia INT 23H Adresa Ctrl-Break INT 24H Adresa osetrujuceho programu kritickych chyb ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Chybove kody DOS Chybove kody DOS 2.0+ (vratene do AX, ak bol nastaveny priznak prenosu) Chyba # Chyba # Hex Dec Vyznam Hex Dec Vyznam ÜÜÜ ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜ ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 1 1 Neplatne cislo funkcie 0aH 10 Neplatne prostriedky 2 2 Nenajdeny subor 0bH 11 Neplatny format 3 3 Nenajdena cesta 0cH 12 Neplatny kod pristupu 4 4 Prilis mnoho otvorenych 0dH 13 Neplatny udaj suborov 0eH 14 (nevyuzity) 5 5 Znemozneny pristup 0fH 15 Nespravne specifikovana 6 6 Neplatne osetrenie jednotka 7 7 Znicene riadiace bloky 10H 16 Nemozno odstranit aktualny pamati adresar 8 8 Nepostacujuca pamat 11H 17 Nezhoda zariadenia 9 9 Nespravna adresa pamatoveho 12H 18 Nie je viac porovnavanych bloku suborov ÜÜÜ ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ Dodatky k Fn 59H DOS 3.x ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 0 0 Nevyskytla sa chyba (neocakava 0, ak sa vobec nejaka chyba objavila) 13H 19 Pokus o zapis na disk chraneny proti zapisu ÄÄÄ¿ 14H 20 Neznamy identifikator jednotky ID ³ 15H 21 Diskova jednotka nepripravena ³ 16H 22 Neznamy prikaz ³ 17H 23 Chyba udajov na disku (chyba CRC) ³ 18H 24 Nespravna dlzka pozadovanej struktury ³ 19H 25 Chyba vyhIadania na disku ÆÍTieto zodpovedaju 1aH 26 Neznamy typ diskoveho media ³ chybam 0-0cH,ktore 1bH 27 Nenajdeny sektor na disku ³ presli registrom DI 1cH 28 Koniec papiera v tlaciarni ³ do manipulatora kri- 1dH 29 Chyba pri zapise ³ tickej chyby INT 24H. 1eH 30 Chyba pri citani ³ Tieto tiez porovnava- 1fH 31 Vseobecna chyba ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ju hodnoty v AL po 20H 32 Porusenie zdieIania suboru chybach INT 25H/26H. strana: 18 21H 33 Porusenie blokovania suboru 22H 34 Neplatna zmena disku 23H 35 Nedostupny FCB (prilis mnoho FCB) 24H-49H (rezervovane) 50H 80 Subor uz existuje 51H 81 (rezervovane) 52H 82 Nevie robit (neviem si predstavit co to ma znamenat, a ty?) 53H 83 INT 24H zlyhanie prerusenia kritickej chyby ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Trieda chyby ³ Vyznam tychto kodov spociva v tom, ze poskytuju dalsie infor- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ macie na pomoc pri urceni ako osetrit chybu.Fn 59H vracia tie- to informacne kody do BH. Trieda # Hex Dec Vyznam (vratene do BH pomocou Fn 59H) ÜÜÜ ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 1 1 Nie su zdroje:nie je viacej FCB, pamati, kanalov, manipulatorov suborov 2 2 Docasna situacia: trva le chviIu (napr. blokovany subor) 3 3 Problem autorizacie: Potreba povolenia z vyssej urovne na vykonanie 4 4 Vnutorna chyba: Chyba DOS 5 5 Porucha hardveru 6 6 Porucha systemu: Chyba DOS 7 7 Chyba aplikacie: Dosla chybna informacia do DOS, neuplna poziadavka ap. 8 8 Nenajdene: Nenasiel sa pozadovany subor/polozka 9 9 Nespravny format: Subor/polozka v nespravnom formate (chybny subor EXE, chybny disk atd.) 0aH 10 Blokovane: Blokovane subor/polozka 0bH 11 Chyba media: Chybny disk, chyba CRC na disku,atd. 0cH 12 Uz existuje: Kolizia s existujucim suborom/polozkou 0dH 13 Neznama trieda chyby: Neexistuje klasifikacia, alebo nie je vhodna ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Navrhovana cinnost ³ Tieto kody indikuju vhodnu cinnost pri vyskyte chyby. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Ide o urcenie kodovania bez vyhIadavania specifickeho cisla chyby v aplikacii.Namiesto toho sa udrzuje kompatibilita smerom nahor dalej navrhovanymi cinnostami.Fn 59H vracia tieto kody do BL. Cinnost # Hex Dec Vyznam (vratene do BH pomocou Fn 59H) ÜÜÜ ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 1 1 Opakovanie: Opakovanie operacie niekoIkokrat. Ak sa chyba vyskytuje i nadalej je uzivateI vyzvany, ci chce pokracovat, alebo ukoncit. 1 1 Opakovanie s oneskorenim: Vyckat chviIu a zopakovat operaciu niekoIko- krat. Ak sa chyba vyskytuje i nadalej vyzve sa uzivateI, ci chce pokra- covat, alebo ukoncit. 3 3 UzivateIsky vstup: Ak uzivateI zaviedol udaj do DOS, je potrebne vyzvat uzivateIa na zopakovanie vstupu (napr. chybny identifikator zariadenia, alebo nazov cesty). strana: 19 4 4 Zrusenie: Zrusenie aplikacie, ale je vhodne previest vycistenie opera- cii ako je uzavretie suboru, aktualizacia indexov, uvoInenie pamatovych blokov atd. 5 5 Okamzite ukoncenie: Okamzite zrusenie bez vycistenia. System je v zlom stave a najvhodnejsie je okamzite ukoncenie. 6 6 Ignorovanie: NezohIadnuje chybu. 7 7 Opakovanie po zasahu uzivateIa: UzivateI potrebuje previest nejaku cin- nost, ako je vlozenie pruzneho disku. Oznam uzivateIovi a potom opa- kovanie. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Lokalizacia chyby ³ Vyznam tychto kodov spociva v tom, ze umoznuju presnejsie ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ urcenie miesta vyskytu chyby.Fn 59H vracia tieto informac- ne kody do CH. Lokalizacia # Hex Dec Vyznam (vratene do CH pomocou Fn 59H) ÜÜÜ ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 1 1 Nezname: Nie je znama oblast zdroja chyby 2 2 Zariadenie pracujuce s blokmi: Chyba sa vyskytla na diskovej alebo pas- kovej jednotke. 3 3 (rezervovane) 4 4 Znakove zariadenie 5 5 Pamat ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Verzie DOS ³ Osetrovanie chyby je kompatibilne smerom nahor pre vsetky verzie ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ DOS. Pouzivaju sa nasledovne vseobecne pravidla: DOS 1.x: indikuje niektore chyby po navrate umiestnenim 0ffH do AL. DOS 2.x: nove verzie 2.x indikuju chyby nastavenim priznaku prenosu (CF=CY=1) a vkladaju chybovy kod do AX. DOS 3.x: vyvolanie 2.x a 3.x este vracia chybove kody do AX ak CF=CY, ale nie je zarucene, ze dalsie verzie budu robit rovnako. Na ziskanie informacie o chybe sa doporucuje pouzit Fn 59H DOS. Atributy suboru Niektore sluzby DOS pozaduju atributy suboru ako parametre. Atribut suboru je 1-bajt bitovy priznak zozbierany kazdym suborom a nachadzajuci sa v polozke adresara kazdeho suboru. Tieto bity su definovane: Ö7Â6Â5Â4Â3Â2Â1Â0· º ³a³d³v³s³h³rº ÓÄÁÄÁÒÁÒÁÒÁÒÁÒÁÒ½ bit hodnota masky º º º º º ÈÍ 0: 1=subor len na citanie º º º º º (nemoze sa pisat/zrusit) (a & 01H) º º º º ÈÍÍÍ 1: 1=skryty (a & 02H) º º º ÈÍÍÍÍÍ 2: 1=systemovy (a & 04H) º º ÈÍÍÍÍÍÍÍ 3: 1=vstupne navestie nosica udajov (a = 08H) º ÈÍÍÍÍÍÍÍÍÍ 4: 1=vstupny podadresar (a & 10H) ÈÍÍÍÍÍÍÍÍÍÍÍ 5: Archivacny bit. 1=subor nebol zalohovany (a & 20H) strana: 20 VyhIadavanie adresara funkcie DOS Fn 11H alebo 4eH je zahrnute. Mozu sa nastavit bity atributov suboru na skryte, systemove, adresar a archivacne ak sa vyhIada- vaju subory s tymito atributmi. Ak vynechate nejaky bit, nenajde sa ziaden su- bor, ktory ma tento atribut. Napriklad, ak chceme zistit len polozku adresara,mozeme pouzit atribut 10H, cim ziskame mnozinu suborov, vratane adresarov. Potom mozete ignorovat vsetky vstu- py, ktore nie su adresarom (ako maju bit 4=0). Ak specifikujeme atribut s navestim nosica udajov, vyhIadavat sa budu vylucne len vstupy nosica udajov (v pripade, ze existuju). Funkcia DOS Fn 43H (CHMOD) umozni nastavit alebo vymazat subor len na citanie, skryty subor, systemovy subor a archivacne bity. Nemozete menit bit atributu podadresara, ale mozete pridat alebo odstranit ostatne bity z adresara DD. Pouzite Fn 43H na specifikovanie atributu, ktory ma vsetky ziadane bity pre ad- resar okrem bitu 4. Manipulator suboru Od verzie DOS 2.0 bola do repertoara DOS pridana mnozina funkcii UNIX. Myslienka spociva v tom, ze ak sa otvori subor, DOS vracia 16-bitovu hodnotu nazvanu "manipulator suboru". Potom, ak sa cita, pise, vyhIadava alebo uzatvara subor, obracia sa pri tom na tento manipulator. Jednou z vynikajucich vlastnosti je, ze sa mozete obracat na urcite zariadenia ako keby boli subory, ak pouzijeme jeden z rezervovanych manipulatorov DOS. Manipulator Nazov/popis Preddefinovany manipulator DOS 0 Standardne vstupne zariadenie (obycajne klavesnice) 1 Standardne vystupne zariadenie (obycajne monitor) 2 Standardne zariadenie chyby (vzdy CON--monitor. Pouziva sa pre oznamy.) 3 Standardne zariadenie AUX (Asynchronny adapter; 1.seriovy port--COM1) 4 Standardna tlaciaren (1.paralelny port tlaciarne-LPT1) V/V manipulatorovy subor Subor a adresar Standardny V/V CONFIG.SYS InstalovateIne drajvery zariadeni InstalovateIny drajver zariadenia umoznuje vytvarat standardny interfejs medzi DOS a nestandardnou castou hardveru. Tieto temy zahrnuju: Zaklady drajvera zariadenia ....... vseobecny uvod do drajverov zariadeni Struktura zahlavia drajvera ....... struktura prvej casti obrazu drajvera Atributy drajvera ................. priznakove bity, ktore definuju zariadenie Struktura poziadavok na drajver ... kazdy prikaz musi vykonat drajver zariade- nia Zahlavie poziadavok na drajver .... struktura prvych 13 bajtov balika poziada- vok Chyby drajvera zariadenia ......... chybove kody drajvera, ktore vracia do DOS Stavove slovo zariadenia .......... priznakove stavove bity zariadenia, ktore vracia do DOS strana: 21 Blok parametrov BIOS (BPB) ........ struktura pouzivana zariadeniami, ktore pracuju s blokmi Specifikacia rozsirenej pamati .... funkcie rozsirenej pamati su instalovane ako drajvery zariadenia CONFIG.SYS ........................ DEVICE= priamo instaluje zariadenia Subor CONFIG.SYS Ak prebieha samozavadzanie DOS, zavadza sa IBMBIO.COM zo samozavadzacieho disku. Tento program overuje hlavny adresar na subor s nazvom CONFIG.SYS a ak exi- stuje, cita sa a je interpretovany ako rad prikazov konfiguracie, ktory ma dole- zity vyznam v urcitych miestach cinnosti DOS. Tato tema obsahuje vsetky prikazy konfiguracie: Prikaz Funkcia Û Prikaz Funkcia ÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ Û ÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ Û BREAK= nastavenie testovacej Û LASTDRIVE= nastavenie SUBST obmedzenia urovne Ctrl-Break Û ID jednotky BUFFERS= nastavenie vyrovnavacej Û FILES= nastavenie max # pamati disku Û manipulatora suboru COUNTRY= nastavenie informacie o Û SHELL= nastavenie interpretera krajine Û prikazu DEVICE= instalovanie drajvera Û STACKS= nastavenie veIkosti zasobnik. zariadenia Û pamati pre hardver DRIVPARM= Neviem, a ty? Û SWITCHAR= vyber prepinacieho znaku FCBS= nastavenie max otvorenych Û prikazoveho riadku FCB (siete) Û CONFIG.SYS by mal byt v standardnom formate ASCII tak, ze za kazdym riadkom textu by mal nasledovat CRLF (ASCII 0dH,0aH).PodIa voIby, koniec suboru moze byt oznaceny Ctrl-Z (ASCII 1aH).Existuje urcita voInost v sposobe pisania prika- zov config.Horny a dolny rad klavesnice je v poriadku a znamienko rovnosti ("=") predchadza a/alebo za nim nasleduje prazdne miesto.Ciselne udaje, ak sa pouziju decimalne (zaklad 10) cislice. Prikaz Funkcia BREAK= Nastavenie urovne testovania Ctrl-Break DOS. Pouzitie: BREAK=ON (ZAP) BREAK=OFF (VYP) Pouzitie BREAK=ON na rucne zrusenie programov, ktore by inac museli prebehnut do konca. BUFFERS= Nastavenie poctu sektorov vyrovnavacej pamati disku, ktore DOS pride- li a pouzije. Zaisti, ze intenzivne operacie disku sa prevadzaju rychlejsie. Pouzitie: BUFFERS= BuffCnt BuffCnt je pocet vyrovnavacich pamati, od 2 do 99. Stan- dardne je 2. Narastom poctu vyrovnavacich pamati disku, na- rastaju sance, ze DOS bude schopny sa vyhnut pristupu strana: 22 k disku a takto celkove zvysovat rychlost diskovych opera- cii. Je potrebne mat dostatok vyrovnavacich pamati na ucho- vanie celej FAT, pretoze sa z nej casto cita. Takisto je prospesne pouzitie vacsieho poctu vyrovnavacich pamati, pretoze je veIka struktura adresara. Prilis veIa vyrovnavacich pamati skutocne znizi rychlost vyberu disku, pretoze DOS stravi viac casu kontrolou stavu kazdej z nich. Vyrazne spomalenie sa prejavi, ak pocet na- rastie asi na 50 vyrovnavacich pamati. Priklad niekoIkych doporucenych nastaveni pre prikazy BUFFERS=: AT s 20 MB alebo 30 MB pevnym diskom: BUFFERS= 32 XT s 10 MB pevnym diskom: BUFFERS= 16 PC (len pruzne disky): BUFFERS= 4 COUNTRY= Nastavuje aktualnu krajinu, ako je to u Fn 38H DOS. Toto sa tyka zobrazenia COMMAND.COM cas/datum a vystupneho formatu. Pouzitie: COUNTRY= CountryCode (kod krajiny) Vypis kodov krajin sa nachadza vo Fn 38H DOS. Pre USA je stan- dardny (001). DEVICE= Pridava instalovateIny drajver zariadenia do vnutornych drajverov za- riadeni DOS. Pouzitie: DEVICE=[d:]filespec filespec je specifikacia suboru binarneho obrazu drajvera. Tieto drajvery zariadeni su dane DOS: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DEVICE= ANSI.SYS DOS 2.0+ instaluje rozsirene charakteisticke znaky obsluznej jed- notky. Vid ANSI.SYS. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DEVICE=[d:][path]VDISK.SYS [KBytes] [SecSize] [DirSize] [/E[:MaxSec]] DOS 3.x instaluje disk RAM. Zvolit mozno: KBytes celkovu veIkost disku RAM v KB (standardne 64 KB) SecSize veIkost sektorov disku: 128,256 alebo 512 (standardne 128) DirSize max # vstupov adresara v stromovej strukture (standardne 64) /E urcuje vlozenu rozsirenu pamat disku RAM Ý286Þ :MaxSec pouziva sa s /E v DOS 3.2. Nastavuje maximalny pocet sek- torov, z ktorych sa bude citat / na ktore sa bude zapiso- vat (1-8, standardne 8). Hardverove prerusenia su blokova- ne, kym je pristup do rozsirenej pamati. Toto znizuje po- tencialne straty pri preruseni (napr. pri sucasnom serio- vom vstupe a vystupe). Vid INT 15H. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 23 DEVICE= DRIVER.SYS /D:PhDrv [/T:Trks][/S:Sects][/H:Hds][/C][/N][/F:n] DOS 3.2 instaluje (logicky) pseudodisk. Vid tiez: IOCTL SubFn 0dH-0fH a poziadavky drajvera zariadenia 13H-18H. Zvolit mozno: /D:PhDrv cislo fyzickej jednotky (pozadovany parameter) 0-3 = cislo jednotky pruzneho disku 128,129 = prva,druha jednotka pevneho disku /T:Trks pocet stop na stranu (standardne 80) /S:Sects pocet sektorov na stopu (standardne 9) /H:Hds pocet hlav jednotky (standardne 2) /C indikuje, ze sa pozaduje podpora Changeline (zmena riadku) /N urcuje, ze medium nie je vymeniteIne (pevny disk) /F:n urcuje cislo typu formatu jednotky: 0 = 160/180 KB (jednostranna) alebo 320/360 KB (oboj- stranna) 1 = 1,2 MB jednotka s vysokou kapacitou 2 = 720 KB format 3 1/2 inch DRIVPARM= Toto je config prikaz nedokumentovany. Je osetreny v IBMBIO.COM, ale nemozno zobrazit jeho parametre alebo jeho ucel. FCBS= Nastavuje pocet blokov riadenia suboru (FCB), ktore mozu byt otvorene v case ked prebieha zdieIanie suborov. Pouzite: FCBS= MaxCnt,KeepCnt MaxCnt je maximalny pocet subezne otvorenych suborov (1-255; stan- dardne 4) ak bol instalovany SHARE. KeepCnt urcuje koIko FCB mozno otvorit pred automatickym zatvorenim pri dosiahnuti MaxCnt. Toto oznamuje SHARE pri zatvoreni suborov na udrzanie prvych suborov KeepCnt, ktore boli otvorene. FILES= Nastavuje pocet manipulatorov suboru,ktore mozu byt otvorene sucasne. Pouzitie: FILES=MaxHandles MaxHandles je maximalny pocet manipulatorov suboru, ktore riadi DOS (5-59, standardne 8). VeIa aplikacii vyzaduje nastavit FILES na hod- notu 20. Vid chybovy kod 12H. LASTDRIVE= Nastavuje hranicu pre ID jednotky pouzteIny prikazom SUBST DOS. DOS 3.0 (ale iba plnovyznamovy zacina od DOS 3.1) Pouzitie: LASTDRIVE=d 'd' je pismeno jednotky (A az Z; standardne E). DOS riadi oblast 80 bajtov pre kazdu jednotku. Pre fyzicke a logicke jednotky hIada aktualny standardny adresar. Pre jednotky SUBST hIada skutocnu jed- notku a nazov cesty adresara, ktory je oznaceny pismenom jednotky. SHELL= Nahradi interpret prikazu (COMMAND.COM) inym programom. Pouziva sa strana: 24 tiez na nastavenie veIkosti prostriedkov DOS pre COMMAND.COM. Pouzitie: SHELL=[d:]filespec [parms] Na rozsirenie prostriedkov DOS pouzit: SHELL=COMMAND.COM /E:1000 /P /E nastavuje pocet bajtov /P nuti vykonanie AUTOEXEC.BAT SWITCHAR= Toto je nedokumentovany config prikaz, ktory mozno pouzit v DOS 2.x na vyber spinacieho znaku prikazoveho riadku DOS. Vid Fn 37H DOS. Pouzitie: SWITCHAR=c 'c' je samostatny znak (standardne '/') CieIom bolo umoznit uzivateIovi DOS vybrat nejaky znak na spustenie voIby riadkoveho prikazu (napr. pomlcka '-') a uvoInit lomitko ('/') pre potreby v nazve cesty. Tato skutocnost nebola nikdy zdokumento- vana a mnoho obsluznych programov ju nevyuziva. V DOS 3.2 SWITCHAR nie je uznavany ako prikaz konfiguracie. Avsak Fn 37H DOS je stale funkcna. STACKS= Riesi problem suvisiaci s opakovanym vstupom a sucasnymi hardverovymi preruseniami. Vid Prerusenia a sluzby ROM-BIOS. Pouzitie: STACKS=FrmCnt,FrmSiz FrmCnt je pocet poli zasobnikovej pamati, ktore su pridelene pomocou DOS (8 az 64; standardne 9) FrmSiz je kapacita kazdeho poli zasobnikovej pamati v bajtoch (32 az 512; standardne 128) Pri kazdom hardverovom preruseni prideli DOS pole zasobnikovej pamati zo spolocnej oblasti a nastavi SS:SP pre manipulator prerusenia pri navrate z prerusenia pole zasobnikovej pamati. TabuIka priradenia suborov DOS (FAT) FAT je tabuIka, ktoru DOS pouziva na udrzanie stopy fyzickej pozicie udajov na disku a na vytvorenie voIneho priestoru pre ukladanie novych suborov. Slovo s posunom 1aH v polozke adresara je cislo prveho klastra v retazci umiestnenia. Ak sa umiestnuje tato bunka vo FAT, bude tato indikovat koniec retazca, alebo nasledovnu bunku atd. Sledujte: pociatocne cislo klastra ÍÍ» Polozka ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÂÄÄÄÂÄÐÄÂÄÄÄÄÄÄÄ¿ adresara ³ M Y F I L E T X T³ a ³ ³tim³dat³ 08³ SIZE ³ ÀÄÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÄÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄ×ÄÁÄÁÄÁÄÁÄÙ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ º 00 01 02 03 04 05 06 07 º8 09 0a 0b 0c 0d 0e 0f ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÐÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ 00 ³ID³³ff³³03=>04=>05=>ff³³00³³00³³09=>0a=>0b=>15³³00³³00³³00³³00³ ÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÒÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÐÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ÚÄÄ¿ 10 ³00³³00³³00³³00³³00³³16=>17=>19³³f7³³1a=>1b=>ff³³00³³00³³00³³00³ ÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀ×ÄÙÀÄÄÙÀÄÒÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙÀÄÄÙ ÈÍÍÍÍÍÍÍͼ Tato schema pomaha vytvarat predstavu o hlavnych pojmoch pri citani FAT.V nej: strana: 25 MYFILE.TXT ma dlzku 10 klastrov.Prvy bajt je v klastri 08 a posledny v 1bH. Re- taz je 8,9,0a,0b,15,16,17,19,1a,1b.Kazdy vstup indikuje nasledujuci vstup v re- tazci zvlastnym kodom v poslednom vstupe.Klaster 18H je oznaceny ako chybny a nie je sucastou retazca umiestnenia.Klastre 6,7, 0cH-14H a 1cH-1fH su prazdne, nie su dostupne pre umiestnenie. Iny retazec zacina na klastri 2 a konci na klastri 5. Na zistenie polozky adresara s pociatocnym cislom klastra 02 je potrebne poznat nazov suboru. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Udaje o FAT ³ FAT bezne zacina v logickom sektore 1 segmentu DOS(napr. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ mozno ho citat INT 25H pomocou DX=1). Jediny sposob, ako sa ubezpecit je, ze sa precita samozavadzaci sektor (DX=0) a preveri sa posun 0eH. To udava, koIko samozavadzacich a rezervovanych sektorov dojde pred FAT. Je potrebne pouzit tento pocet (obycajne 1) v DX na precitanie FAT pomocou INT 25H. Moze existovat viac nez jedna kopia FAT, obycajne su to dve uplne kopie. Ak su dve a viac, budu susedne (druhy FAT nasleduje priamo za prvym). Tu su k dispozicii nasledovne sluzby na urcenie informacie o FAT: Na citanie samozavadzacieho sektora treba pouzit INT 25H a overit v nom udajove polia. Na urcenie uplnych diskovych sektorov a klastrov treba pouzit Fn 36H alebo Fn 1cH DOS. Ak drajver zariadenia podporuje genericky IOCTL, je potrebne pouzit Fn 44H DOS. DOS 3.2. Na ziskanie vsetkych druhov informacii je potrebne pouzit Fn 32H DOS (nedokumentovana). Poznamka: Samozavadzaci sektor nesamozavadzacich diskov (ako su sietove zaria- denia, pracujuce s blokmi a starsie typy pevnych diskov) mozu obsa- hovat iba bezvyznamne udaje. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 12-bit/16-bit ³ FAT moze mat 12 alebo 16 bitovy vstup. 12 bitovy vstup je ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ vhodny pre media menej nez 384 kB--cela FAT moze zabrat jediny 512 bajtovy sektor disku. Pre vacsie media kazdy vstup FAT musi zabe- rat stale vacsiu kapacitu klastra--az dovtedy, kym 20 MB pevny disk by potrebo- val umiestnit v sestnastsektorovych jednotkach za ucelom pouzitia 12 bitoveho formatu (inymi slovami jednobajtovy subor zvysil diskovy priestor o 8 kB). Pomocou DOS 3.0 sa zavadzaju 16 bitove FAT s potrebou ucinneho osetrenia 20 MB pevnych diskov PC AT. Avsak pruzne disky a 10 MB pevne disky nadalej pouzivaju 12 bitovu strukturu. Je mozne urcit ci FAT ma 12 alebo 16 bitove prvky: DOS 3.0 hovori: ak ma disk viac nez 4086 (0ff6H) klastrov pouziva 16 bitov (4096 je max. hodnota pre 12 bitove cislo a > 0ff6H je rezervovane). strana: 26 DOS 3.2 hovori: ak ma disk viac nez 20740 (5104H) sektorov pouziva 16 bitov (inymi slovami IubovoIny disk nad 10 MB pouziva 16 bitovu FAT). Poznamka: Casto dochadza k chybnemu chapaniu, ze 16 bitova FAT umoznuje praco- vat DOS s diskami vacsimi nez 32 MB. V skutocnosti obmedzujucim cini- teIom je, ze INT 25H/26H (pomocou ktoreho DOS prevadza svoje vstupy a vystupy) neumoznuje pristup do sektora vyssieho nez 65535. Pretoze sektory su bezne 512 bajtove (1/2-K) urcuje to hranicu 32 MB. Nikde sa neuvadza, ze sektory nemozu byt vacsie nez 512 bajt, takze DOS by mohol teoreticky osetrit disk IubovoInej veIkosti. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Citanie FAT ³ Na citanie hodnoty IubovoIneho vstupu do FAT je potrebne ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ najprv citat cely FAT do pamati a obdrzat pociatocne cislo klastra z adresara. Potom pre 12 bitove vstupy: Je potrebne vynasobit cislo klastra cislom 3 Í» Vysledok delit 2 ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍ> kazdy vstup ma dlzku 1,5 (3/2) bajtov. Je potrebne precitat slovo na vyslednej adrese (ako posun od spustenia FAT). Ak cislo klastra je parne, treba hodnotu maskovat 0fffH (udrzat dolnych 12bitov) Ak cislo klastra je neparne, treba posunut hodnotu doprava o 4 bity (udrzat hornych 12 bitov). Vysledok je vstupom pre nasledovny klaster v retazci (0fffH=koniec). Poznamka: 12 bitovy vstup moze prejst 2 sektory a takto dava schemu jednosekto- roveho vyrovnania FAT. 16-bitove vstupy su jednoduchsie--kazdy vstup obsahuje 16 bitovy posuv (od spustenia FAT) nasledujuceho vstupu retazca (ffffH indikuje koniec). ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Obsah FAT ³ Prvy bajt FAT sa nazyva popisovac media alebo bajt ID FAT. ÀÄÄÄÄÄÄÄÄÄÄÄÙ Dalsich 5 bajtov (12 bitove FAT-y) alebo 7 bajtov (16 bitove FAT-y). Zvysok FAT sa sklada z 12 a 16 bitovych buniek, z ktorych kazda pred- stavuje jeden diskovy klaster. Tieto bunky obsahuju jednu z nasledovnych hodnot: (0)000H .................. dostupny klaster (f)ff0H cez (f)ff7H ...... rezervovany klaster (f)ff7H .................. chybny klaster (f)ff8H cez (f)fffH ...... koniec retazca pridelenia (0)002H cez (f)fefH ...... cislo klastra nasledujucej bunky v retazci Poznamka: Horne 4 bitove slovo hodnoty sa pouziva iba v 16 bitovych FAT; napr. chybny klaster je oznaceny 0ff7H v 12 bitovych FAT a z fff7H v 16 bi- tovych FAT. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Skonvertovanie cisla klastra na cislo sektora ³ Po obdrzani pociatocneho ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ cisla klastra z polozky adresara bude potrebne umiestnit skutocny sektor disku, na ktorom su udaje suboru alebo podadresara. strana: 27 Pruzny disk (alebo segment DOS pevneho disku) je rozlozeny takto: Samozavadzaci(ie) a rezervovany(e) sektor(y) FAT # 1 FAT # 2 (voliteIne--nepouziva sa u disku RAM) Adresar stromovej struktury Oblast udajov (vsetky udaje suboru su uchovane tu, vratane suborov pre ad- resare) Kazda sekcia tejto struktury je premenna, veIkosti vsetkych sekcii musia byt zname, aby sa mohla vykonat spravna konverzia z klastra na sektor. Nasledujuci vzorec znazornuje jedinu zdokumentovanu metodu urcovania cisla logickeho sektoru DOS z cisla klastra: RootDirSectors = SectorBytes / (RootDirEntries * 32) FatSectors = FatCount * SectorsPerFat DataStart = ReservedSectors + FatSectors + RootDirSectors LogicalSector = DataStart + ((StartCluster - 2) * SectorsPerCluster) kde premenne: SectorBytes SectorsPerFat FatCount RootDirEntries ResevedSectors SectorsPerCluster boli ziskane zo samozavadzacieho sektora alebo z BPB (ak je pristup). Vysledne cislo sektora je mozne pouzit v DX pre pristup k absolutnemu disku DOS INT 25H/26H. Ak ste odvazna osoba mozete si usetrit problemy pouzitim funkcie 32H DOS (Get Disk Info), ktora vytvara sadu informacii predom vypocitanu, vratane cisla sektoru zaciatku udajov. Poznamka autora: Najlepsie pouzitie vsetkych tychto informacii o FAT je obist sluzby hIadania suborov DOS a vytvorit vlastne vyhIadavanie adresara. Pretoze program, ktory musi obsahovat zoznam vsetkych suborov a adresarov, s priamym pristupom sektorov adresara bude pracovat zhruba dvakrat tak rychlo ako sluzby DOS. Prostriedky DOS DOS riadi oblast pamati, v ktorej su ulozene retazce ASCIIZ ktore mozno vyuzit aplikaciami na ziskanie informacie o urovni systemu a na presun udajov inym programom. Prikaz SET DOS je vseobecny interfejs DOS pre prostriedky. Prikazy PATH a PROMPT sa tiez tykaju ich obsahov. Nedokumentovany. V davkovych suboroch IubovoIny text ohraniceny znakom % je nahradeny hodnotou prostriedku, ktora sa porovnava s nazvom. Priklad: 1 SET PATH=c:\my_dir;%PATH% 2 IF .%USER%. == .dan. GOTO dan_label 3 ECHO %CMPRS% > %CUR_LPT% Toto poskytuje mnozstvo moznosti ale DOS stale trpi nedostatkom nastrojov, potrebnych pre skutocne pruzny davky spracovavajuci jazyk. Prostriedok je obmedzeny na IubovoInu veIkost, ale vacsi prostriedok DOS moze byt vytvoreny pomocou prikazu 'SHELL=' v subore CONFIG.SYS alebo 'COMMAND /e:NNNNN' ktory spusta druhotnu kopiu interpretu prikazu poskytujucu NNNNN bajtov priestoru prostriedku. strana: 28 Struktura: Priklad pouzivajuci mnemotechniku ASM: nazov_1=hodnota_10 db 'COMSPEC=c:\command.com',0 nazov_2=hodnota_20 db 'PROMPT=$p$g',0 : db 'WP=c:\wordproc',0 nazov_N=hodnota_N0 db 'PATH=d:\;c:\dos;c:\utils',0 <0> db 0 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ len ÚÄÄ dw 1 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ EXEC_retazec_1<0> ÆÍ>DOS 3.0+ <͵ db 'C:\ACCTNG\AR001.EXE',0 ³ ³ : ³ ÀÄÄ db 0 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ EXEC_retazec_NN<0>³ ÀÄÄ<0>ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ kde <0> je nulovy znak ASCII (00H) a je 16 bitova binarna hodnota. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Pouzitie prostriedku ³ Prostriedok je menej nez 32 kB a zacina na hranici ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ odstavca. Posun 2cH PSP aktualneho programu obsahuje cislo odstavca prostriedku. Vybrany nazov je mozne najst pomocou radu porovnani retazcov ASCIIZ az kym sa nedosiahne nulovy retazec(nulova dlzka), oznacujuci koniec prostriedku. Bezne rozdelenie nazvu kazdeho retazca prostriedku je pisane veIkymi pismenami ale nie je to vynutene. Jednou z typickych operacii s prostriedkom je pouzitie programov typu SHELL, ktore vykonavaju druhotnu kopiu COMMAND.COM. SHELL obycajne hIada nazov "COMSPEC" a pouziva hodnotu ako jednotku, cestu a specifikaciu suboru interpreta prikazu DOS--program do EXEC pomocou Fn 4bH DOS. Niektore programy vyzaduju, aby operator ulozil informaciu tykajucu sa specific- kej aplikacie do prostriedku pomocou prikazu SET. Aplikacia vyuziva tuto infor- maciu v IubovoInom case pocas vykonavania. Napriklad textovy procesor moze hIa- dat prostriedok pre nazov slovnika a pouzit text hodnoty ako specifikaciu pre udajovy subor slovnika. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Prostriedok stromovej struktury ³ Kazdy program obdrzi staticku kopiu pocia- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ tocneho prostriedku. Takto IubovoIne zmeny, ktore sa prevadzaju v prostriedku, budu posobit vo vsetkych podriadenych proce- soch (ak existuju), ale sa stratia, ak riadenie sa vrati do nadriadeneho proce- su. Nie je zdokumentovany sposob umiestnenia prostriedku stromovej struktury alebo hlavneho programu DOS. Vid INT 2eH pre nedokumentovanu techniku. Prevadzanim kopie COMMAND.COM a jeho presunom do upraveneho prostriedku je mozne ziskat istu vyhodu. Vsetky jeho zarodky prijimaju kopiu tohoto prostriedku. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Umiestnenie cesty zavadzania ³ Pocinajuc DOS verzia 3.0 DOS uklada pridavny ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ retazec po skonceni formalneho prostriedku, ktory mozno pouzit na umiestnenie jednotky a adresara, z ktorej sa program za- vadza. Dokonaly aplikacny program toto vyuziva ako pomocku na zistenie prekry- vania programov a suborov udajov. Toto je najvyznamnejsie, pretoze DOS 3.0 umoznuje operatorovi vyvolat program pomocou prefixovania nazvu cesty pred nazvom suboru programu. strana: 29 Po poslednom retazci ASCIIZ prostriedku nasleduje nulovy bajt, indikujuci koniec formalneho prostriedku. Nasledujuce dva bajty su 16 bitova binarna velicina pridavnych retazcov (tato hodnota je obycajne 0001H). Po tejto binarnej hodnote je mozno ocakavat zistenie retazca ASCIIZ specifikacie suboru, ktory pouziva Fn 4bH DOS (EXEC) na zavadzanie a vykonavanie programu. I ked subor programu nie je v standardnom adresari a DOS potrebuje pouzit cestu hIadania prikazu (t.j. PATH= retazec) na umiestnenie suboru programu, spravna a plna specifikacia suboru (d:\path\filename.ext,0) bude uchovana po skonceni prostriedku. Start/koniec programu DOS je schopny zaviest a prevadzat dva typy programovych suborov -- COM a EXE. VzhIadom na segmentovanu oblast adries CPU 8088/86/286 a skutocnost, ze prikazy JMP a CALL sa vztahuju k adrese, oba typy programov sa mozu zaviest a prevadzat pri IubovoInej adrese odstavca v pamati. Takto kod moze ostat uchovany v pamati "dole" a iny kod moze byt zavedeny a prevedeny v pamati nad nim. Programy sa nikdy nepisu v domnienke, ze budu zavedene na urcitu adresu ( okrem niektorych samozavadzacich, chranenych hier). Subor formatu COM je binarnym obrazom kodu a udaja programu.Subor musi byt mensi nez 64 kB a nedochadza k premiestneniu adresy segmentu. Subor formatu EXE obsahuje zvlastne zahlavie, ktore presmeruje zavadzac v preva- dzanom prisposobeni na segmentove odkazy v zavadzacom module. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Vsetky programy ³ Pred zavedenim programov formatu COM alebo EXE vybera DOS ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ adresu segmentu, nazvanu PSP (Program Segment Prefix), co je zaklad zavedenia programu. DOS vybera najnizsiu dostupnu adresu, ale riadiaci program (ako je Microsoft Windows) si moze vybrat IubovoInu cast pamati. DOS vy- konava nasledovne kroky: - Vytvara kopiu aktualneho prostriedku DOS pre program. Fn 4bH DOS (EXEC) umoz- nuje nadriadenemu programu vytvarat iny prostriedok. Napriklad program moze vykonavat COMMAND.COM nastavujuc prompt DOS a zahrnutie textu "Pouzi EXIT na navrat do UltraProg". - Umiestnuje cestu zavedenia programu na koniec prostriedku DOS 3.0+. - Naplna polia PSP informaciou potrebnou pre program (vid Prefix segmentu programu pre uplnu strukturu): mnozstvo pamati dostupnej pre program adresa segmentu prostriedku DOS 0-2 neotvorene bloky riadenia suboru (FCB) ako su analyzovane z prikazoveho riadku (poznamka: ak sa otvori prvy FCB, prepise sa cast druheho) parametre prikazu: presne znaky zadane v prikazovom riadku (analyza tejto oblasti overuje vyber a parametre cesty/nazvu suboru) aktualne vektory pre INT 22H, INT 23H a INT 24H - Nastavuje standardnu adresu prenosu na disk (DTA) do PSP:0080 - Nastavuje register AX na indikaciu platnosti identifikatorov jednotky (ak existuju) parametrov specifikacie suboru zadanych v prikazovom riadku: ak AL=0ffH, prvy identifikator jednotky nebol platny ak AH=0ffH, druhy identifikator jednotky nebol platny strana: 30 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Programy EXE ³ Programy formatu EXE urcuju viacnasobne segmenty programu ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ vratane kodu, udaja a segmentu zasobnikovej pamati. Subor EXE sa zavadza od PSP:0100. Ak je zavedeny, pri spusteni suboru zo zahlavia EXE sa precita mnozstvo informacii a prevedie sa premiestnenie adresy segmentu. To znamena, ze odkazy ako mov ax,data_seg mov ds,ax call my_far_proc musia byt nastavene -- aby umoznili zavedenie programu do IubovoIneho segmentu pamati.Na zistenie podrobnosti o zahlavi a procese premiestnovania pozri zahlavie suboru EXE. Po premiestneni riadenie sa presunie do zavadzacieho modulu pomocou skoku FAR do CS:IP, ktory sa precita zo zahlavia EXE. Ak program formatu EXE prevezme riadenie: - DS a ES su nastavene v PSP - CS, IP, SS a SP su nastavene na hodnoty indikovane v zahlavi EXE - pole ZacPam PSP je nastavene na hodnotu v zahlavi EXE. Cast pamati, ktora je dostupna, je obycajne umiestnena v programe. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Programy COM ³ Programy formatu COM urcuju jeden segment (alebo aspon nero- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ bia explicitne odkazy na iny segment). Bajty suboru COM sa citaju z disku a ukladaju do pamati, pocinajuc od PSP:0100. Programy COM pou- zivaju viacnasobne segmenty, ale musia sa vypocitat alebo odvodit adresy seg- mentu, pricom zakladom je segment programu. Programy COM sa pouzivaju s vyhodou oproti programom EXE pre kratke obsluzne programy v jazyku symbolickych adries. Zavadzaju rychlejsie, pretoze nie je potrebne premiestnenie segmentu a zaberaju menej diskoveho priestoru, pretoze bajty zahlavia EXE a segmenty zasobnikovej pamati nemusia byt v zavadzacom module. Po zavedeni binarneho zobrazenia: - CS, DS a SS su nastavene tak isto ako PSP - SP je nastavene na koniec segmentu PSP (obycajne 0fffeH, ale bude nizsie, ak nie je dostupnych plnych 64 kB). Slovo na posune 06H PSP je nastavene na in- dikaciu dostupneho mnozstva segmentu programu. - Cela systemova pamat segmentu programu je umiestnena v programe. - Slovo z 00H je vlozene do zasobnikovej pamati. - IP je nastavene na 100H (prvy bajt zavadzacieho modulu) pomocou JMP do PSP:100. strana: 31 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Vystup z programu ³ Svojho casu ( za cias DOS 1.1) vysvetlenie vystupu z pro- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ gramu podIa schemy DOS Rube Goldberga zabralo niekoIko stran. Nastupom DOS 2.0 sa toto zjednodusilo.Vystup mozno realizovat nasledovne: pouzitim Fn 4cH DOS (EXIT) v IubovoInom case, bez ohIadu na obsah registra. pouzitim Fn 00H DOS alebo INT 20H, ak obsah CS je zhodny s PSP. Vo verziach pred DOS 2.0 bolo potrebne uchovat segment PSP pri starte.Potom pri vystupe bolo potrebne ho vlozit do vyrovnavacej pamati, vlozit slovo z 00H a po- tom vykonat FAR RET (navrat). Toto odosiela riadenie do PSP:0000, ktory obsahuje operacny kod pre INT 20H. Toto zaisti, ze CS je nastaveny ako to ocakava DOS. Fn 4cH DOS eliminuje tuto komplikaciu a umoznuje vratit kod vystupu do nadriade- neho procesu (obycajne COMMAND.COM), ktory moze byt testovany nadriadenym prog- ramom alebo prikazom "IF ERRORLEVEL" COMMAND.COM (ak chybova uroven). Je mozne ukoncit program a uchovat ho permanentne v pamati (TSR) pouzitim INT 27H alebo Fn 31H (KEEP) DOS. Druha moznost je vyhodnejsia, pretoze nou moz- no uchovat viac nez 64 kB a mozno vratit kod vystupu, ktory mozno testovat pomo- cou nadriadeneho procesu. Program TSR je vhodny na instalovanie vsuviek na zelanie zakaznika, pre rozne sluzby DOS a BIOS. Toto je koncepcia, ktoru pouzivaju vyberove obsluzne programy ako SideKick a TECHhelp! (uvadzame dva z najdolezitejsich prikladov). Tyka sa to nasledovnych tem: Funkcie riadenia procesu.... zoznam funkcii startu/konca programu DOS Prefix segmentu programu.... podrobna struktura PSP Fn 26H DOS ................. tvorba PSP Fn 4bH DOS (EXEC)........... zavedenie a vykonanie programov Fn 62H DOS ................. obdrzanie hodnoty PSP aktualneho programu Fn 2fH DOS ................. obdrzanie aktualnej adresy prenosu na disk Prostriedky DOS............. urcenie jednotky a adresara, z ktoreho bol ak- tualny program zavadzany ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Standardny V/V Pocinajuc verziou 2.0 DOS podporuje koncepciu typu UNIX presmerovania standard- neho vstupu a standardneho vystupu zariadeni. Toto tvori zaklad metody, ktora umoznuje zadat vstup jedneho programu alebo zachytit vystup z ineho programu. Standardny vstup, ak nie je presmerovany, prichadza z klavesnice a standardny vystup ide na obrazovku; obe su funkcie zariadenia CON. Nadriadeny proces (ako je COMMAND.COM) moze presmerovat alebo standardny vstup alebo standardny vystup alebo obidva pred riadenim prechodu do podriadeneho procesu. Toto je ucinny sposob na prenos informacie z procesu do procesu s minimom programovych dodatkov. Vid manipulatory suborov zoznamu predefinovanych standardnych V/V manipulato- rov. Je potrebne pouzit funkcie V/V znaku DOS alebo funkcie 3fH/40H citanie/zapis standardneho V/V. Je potrebne pouzit manipulator suboru 02H (zariadenie standardnej chyby) pomocou Fn 40H na zabezpecenie zobrazenia odkazu. strana: 32 Je potrebne pouzit Fn 46H DOS (FORCDUP) na presmerovanie standardneho V/V. Je potrebne pouzit Fn 4bH DOS (EXEC) na vykonanie podriadeneho procesu. Je potrebne pouzit Fn 44H DOS (IOCTL) na urcenie, ci standardny V/V bol presme- rovany. Atribut zariadenia instalovateIneho drajvera zariadenia indikuje, ci zariadenie ma byt pouzite ako standardne zariadenie standardneho vstupu a/alebo standardneho vystupu. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ COMMAND.COM & Standardny V/V ³ Interpret prikazu DOS overuje kazdy prikazovy ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ riadok na symboly presmerovania V/V pred vyko- nanim vnutorneho prikazu alebo vykonanim EXEC programu: proces < specifikacia suboru vykonanie EXEC procesu; vstup z klavesnice pri- chadza zo suboru proces > specifikacia suboru vykonanie EXEC procesu; obrazovy vystup odchadza do suboru proces >> specifikacia suboru vykonanie EXEC procesu; obrazovy vystup bude pri- dany k suboru proces1 proces2 1. vykonanie EXEC procesu1, obrazovy vystup ide do docasneho suboru 2. vykonanie EXEC procesu2, vstup z klavesnice prichadza z docasneho suboru 3. zrusenie docasneho suboru Poznamka: Presmerovanie vystupu pomocou '>' vytvara vystupny subor, zanedbavajuc je- ho dlzku pred zapisom prvych znakov. Na pridanie textu na koniec existuju- ceho suboru sa pouzije '>>' . Na zretazenie niekoIkych prikazov DOS a programov pouzijeme symbol (""): DIR | SORT | FIND /v "i" >myfile.txt Kazdy docasny subor tohoto druhu bude mat jednoznacny nazov, vytvoreny z hexadecimalnych cislic aktualneho datumu a casu. Su vzdy vytvorene v aktualnom standardnom adresari standardnej jednotky. Presmerovanie prikazu ECHO je vhodne na niekoIko pouziti: ECHO L > PRN (vyvolava posuv formulara na tlaciarni) ECHO y|DEL *.* (odpoveda "ano" na prompt "Si si isty?") ECHO ATDT 1(213)555-1234 >AUX (vyvolava telefonne cislo) Vystup presmerovania na zariadenie NUL aby sa vyhlo niektorym spravam DOS: COPY *.COM d: >NUL (obchadza spravu "1 subor(y) skopirovany") COMMAND.COM bude ignorovat symboly presmerovania zahrnute v citate: REM V tejto poznamke pouzivam znak vacsi nez ">" ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 33 Verzie DOS TECH Help! indikuje variacie a nekompatibility medzi verziami DOS zobrazenim zvyrazneneho cisla verzie ako priznak upozornenia. Tam, kde funkcia DOS alebo prerusenie DOS sa v jednotlivych verziach podstane meni, tieto priznaky sa pouzivaju, aby umoznili tieto zmeny postrehnut na prvy pohIad: 2.0+ alebo (nic) .......... aplikuje verziu DOS 2.0 a vyssiu 2.x ....................... aplikuje DOS 2.0 alebo 2.1 3.0+ alebo 3.x ............ aplikuje verzie DOS pocnuc DOS 3.0 3.0 alebo 3.1 alebo 3.2 ... pouziva tieto alebo neskorsie verzie Zakladne sluzby DOS boli pojate do DOS 1.0 a stabilizovane (citane: odladene) pomocou verzie 1.1. Ak program ma byt schopny bezat pod DOS 1.1, nesmieme pouzit funkcie DOS vyssie nez 2eH. Ked firma IBM uviedla osobny pocitac s pevnym diskom (PC XT) bol vydany DOS 2.0 -- vyznamny stupen vyvoja, ktory zahrnuje: Viacnasobne adresare na vylepsenie pristupu do medii veIkych kapacit. V/V manipulatorovy subor vylucil tazkopadny V/V subor FCB na zjednodusenie pristupu suboru na zariadenie. Presmerovanie standardneho V/V pre vytvorenie nezavislosti vseobecneho za- riadenia typu UNIX. InstalovateIne drajvery zariadenia na prepojenie nestandardnych zariadeni, diskov RAM vratane obsluznej jednotky ANSI.SYS. DOS 2.1 zachytava niekoIko chyb a ma pridanu podporu pre starsie typy jednotiek pruznych diskov. DOS 3.0 vysiel spolu s ÝATÞ a zahrnuje v sebe podporu 20 MB pevnych diskov.Ma pridanu podporu pre 16 bitove vstupy FAT na minimalizovanie casovej medzery na pevnych diskoch. Ma pridane rozsirene chybove spravy pre funkcie DOS. Vyznamne nove prikazy DOS: ATTRIB, LABEL, VDISK.SYS RAM disk. DOS 3.1 zahrnuje niektore sluzby pre siete (rozdelenie suborov, blokovanie, presmerovanie). DOS 3.2 vysiel spolu s IBM convertibilnym PC. Na drajveri zariadenia ma roz- sirenu sluzbu IOCTL na formatovanie disku DOS, atd. Vyznamne nove prikazy DOS: REPLACE, XCOPY, logicky disk DRIVER.SYS ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Kompatibilita ³ Vo vseobecnosti verzie s vyssim cislom su kompatibilne s ver- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ziami s nizsim cislom. Vacsina softveru je pisana pre pracu s DOS 2.x, pretoze tento je najviac vzity. Pridavne vlastnosti DOS 3.x su rela- tivne bezvyznamne, takze nie je dovod rozvijat softver, ktory sa opiera o spe- cificke vlastnosti 3.x (s vynimkou sietovych aplikacii). Snad najbeznejsi problem kompatibility je viditeIny u osobnych pocitacov s ob- medzenou veIkostou pamati. Verzie DOS s vyssim cislom zaberaju viac RAM z do- stupnej spolocnej oblasti a takto nechavaju menej priestoru pre aplikacne pro- gramy. strana: 34 Verzia Na disku V pamati ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜ DOS 1.0 11,551 12,144 Na disku = veIkost COMMAND.COM DOS 1.1 13,279 12,400 +IBMBIOS.COM DOS 2.0 39,424 24,800 + IBMDOS.COM DOS 2.1 39,551 24,800 DOS 3.0 58,926 37,024 V pamati = ako je to oznamene pomocou DOS 3.1 60,534 37,040 CHKDSK.COM, dalej pomocou DOS 3.2 68,637 44,704 SHARE, MODE, atd. a niektore prikazy CONFIG.SYS Iny problem sa javi pri instalovanych drajveroch zariadenia u pevnych diskov nie typu IBM. Niektore pracuju dokonale s DOS 2.x ale nepracuju s 3.x (vid da- lej). Tak isto treba davat pozor na softvere ulozeny v RAM (TSR). Ak je to nevyhnutne treba previest rad cinnosti "na cierno", ak to nie je vyslovene zakazane, na to, aby sme sa vyhli problemu opakovaneho vstupu do DOS. Uplne prva vec, ktora sa musi vykonat ak su pochybnosti o kompatibilite DOS, odstranit vsetky programy TSR z AUTOEXEC.BAT a znovu zaviest (nesmie sa zabudnut, ze subor CONFIG.SYS ma dolezity vyznam pre DOS). ÚÄÄÄÄÄÄÄÄÄ¿ ³ "Pasce" ³ Vacsina funkcii DOS su kompatibilne smerom nahor, ale su pripady ÀÄÄÄÄÄÄÄÄÄÙ bez zaruky. Vacsina poloziek nasledovneho zoznamu su pomerne malo dolezite, ale mozu usetrit niekoIko hodin stravenych pri odladovani. Fn 1bH DOS zastavi navrat ukazovateIa do aktualneho FAT v DOS 2.0 a vracia iba ukazovateI do bajtu popisovaca media. FAT nemusi byt v pamati. Fn 4fH DOS (najdenie dalsieho suboru) ma jemne obmeny medzi verziou DOS 2.x a 3.x. Teraz sa vyzaduje uchovat DS:DX do informacie z volanie 4eH (najdenie prveho suboru). Len sa predpoklada, ze DOS 2.x bol v DTA. Fn 30H DOS modifikuje BX a CX v DOS 3.0+. Fn 38H DOS (informacia o krajine) vracia nekompatibilny blok informacie o krajine. Tri 16-bitove slova na konci BPB (pouzite v drajveroch zariadeni) prepnute z "voliteIneho" na "povinny" pomocou DOS 3.0. Tak isto treba davat pozor, pre- toze niektore instalovane drajvery zariadeni nie typu IBM neuchovavaju BPB v zavadzacom sektore pevneho disku (tento iba aplikuje na pevne disky, ktore nie su instalovane s ROM-sken a takto nemusia mat tabuIku rozdelenia a nie su samozavadzacie). Existuju pravdepodobne aj ine smerom nahor nekompatibilne vlastnosti (ocenim akukoIvek pisomnu informaciu od programatorov, ktori ich zistia -- DR). Ak sa pouzije nedokumentovane volanie DOS alebo (zakazane z vyssej moci!) a obmedzena adresa v DOS alebo ROM, treba sa pripravit na prepisanie programu na neskorsie verzie DOS a BIOS. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 35 O funkciach DOS Funkcie DOS su nahodne sady suboru zariadenia pamati a sluzieb riadenia procesu, ktore su dostupne IubovoInemu programu, ktory je schopny nastavit registre a vy- volat softverove prerusenia. Pristup k funkciach DOS: umiestnit cislo funkcie DOS do registra AH (ak existuje jedna alebo viac subfunkcii, obycajne ide do AL) naplnit ostatne registre, ako je to popisane v popise funkcii pripravit IubovoIne vyrovnavacie pamate, retazce ASCIIZ a potrebne bloky riadenia je potrebne davat pozor alebo nastavit miesto DTA, ak je to potrebne vyvo- lat INT 21H hIadat indikatory chyb, ktore vrati DOS (overit priznak prenosu) DOS uchovava hodnoty registra okrem pripadu, ak informacia sa vrati do registra. Ak DOS uvoIni neskorsie verzie ostali (obycajne) kompatibilne so skorsimi ver- ziami. Vid verzie DOS na diskusiu o nekompatibilite. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Prerusenia a sluzby ROM-BIOS Prerusenia Sluzby Ukazovatele ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ INT 00H Delenie nulou INT 10H Videosluzby INT 1dH Videoparametre INT 01H Jednotlivy krok INT 11H Zoznam zariadeni INT 1eH Disketove param. INT 02H NemaskovateIny INT 12H Pouz.veI.pam. INT 1fH Graficke znaky INT 03H Miesto prerusenia INT 13H V/V disku INT 04H Pretecenie INT 14H Seriovy V/V port INT 05H Tlac obrazovky INT 15H Rozs.sluzby AT INT 41H Par.pev.disku 0 INT 06H (rezervovane) INT 16H V/V klavesnice INT 46H Par.pev.disku 1 INT 07H (rezervovane) INT 17H V/V tlaciarne INT 08H Casovac INT 18H ROM-BASIC INT 44H Graf.znaky EGA INT 09H Klavesnica INT 19H Samozavadzanie INT 0aH-0dH (Hv.prerus.) INT 1aH V/V cas INT 4aH Adr.vystrahy uz. INT 0eH Disketa INT 1bH Ctrl-Break klav. INT 50H Prer.cas.CMOS INT 0fH (Hv.prerusenie) INT 1cH Prer.uziv.casovaca INT 20H-2fH Prerusenia DOS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Adapter rozsirenej grafiky (EGA) EGA je vo vseobecnosti kompatibilny nahor s CGA (Color/Graphics Adapter) a MDA (Monochrom Display Adapter), ale ma mnozstvo vlastnosti, pre ktore je vhodny na rozlicne aplikacie. Tieto vlastnosti zahrnuju: vyssiu textovu a graficku rozlisovaciu schopnost grafika monochromatickeho monitora softverovo defonovateIny typ pisma v textovych modoch viacnasobne typy pisma zobrazene sucasne 64 farieb v textovom alebo grafickom mode plynule pretacanie (pretacanie obrazovych prvkov) hardverovo riadene rozdelenie obrazovky strana: 36 Zahrnuje nasledovne temy EGA: Obrazove mody ............... zahrnuje mody EGA EGABIOS ................... zahrnuje specialne znaky EGA dostupne pomocou ROM-BIOS Nastavenie prepinacov EGA.. tieto prepinace su na zadnej strane adaptera V/V porty EGA ............... adresy V/V portov; registre obrazovych radicov Udajova oblast BIOS ......... zahrnuje specificke premenne EGA v pamati Udajove oblasti EGA ....... ukazuju struktury informacnych blokov EGA Specifikacia rozsirenej pamati Tato tema popisuje formalnu specifikaciu Lotus/Intel/Microsoft, ktore sa pouzi- vaju na pristup k "rozsirenej" pamati na systeme kompatibilnom s PC. Na popis sluzieb INT 67H pozri funkcie EMM. Definicie: - "rozsirena" pamat sa nachadza len pri PC AT (PC pouzivajuce CPU Ý286Þ). Je to pamat, ktora zabera fyzicke adresy nad 1 MB. V DOS 3.2 rozsirena pamat sa pouziva len pre RAM disky. Pozri INT 15H podfunkcie 87H-89H. - "rozsirena" pamat pouziva pamatovu dosku kompatibilnu s EMS a riadiaci program za ucelom pridania pamatovych "stranok", ktore mozno presuvat do a z priestoru fyzickych adries nad hornou hranicou 640 kB (nad a000:0000). Doska EMS vytvara styri stranky po 16 kB (celkove 64kB) adresovateInej pamati, az po 8 MB celkovej pamati pouziteInej na presun do a z priestoru fyzickych adries. EMS je priemyslova norma, umoznujuca pre programy ako je Lotus 1-2-3 ulozit udaje pre veIke formulare.Pouziva sa tiez pre RAM disky a subeznu tlac. Niektore programy, uchovane v pamati, pouzivaju pamat EMS na ulozenie udajov a kodu stranok (takto vyuziva minimalny adresny priestor z celkovych 640 kB). ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Zistenie, ci je instalovana EMS ³ Pamat EMS je riadena instalovateInym ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ drajverom s nazvom "EMSXXXX0" vztahujuce sa na EMM (riadiaci program EMS). Na urcenie, ci bol instalovany drajver, mo- zete pouzit Fn 3dH DOS, aby ste sa pokusili otvorit zariadenie ako subor. Ked uz bol otvoreny, na ziskanie statusu mozete pouzit Fn 44H DOS (IOCTL) podfunk- ciu 07H. Ak vrateny status (v AL) je 0, potom EMM nie je nainstalovany a disko- vy subor s nazvom "EMSXXXX0" existuje z inych dovodov. Ak je instalovany drajver EMM, nastavuje vektor INT 67H, aby ukazal na jeho zahlavie. Takto iny sposob testovania EMS je vyvolat adresu vo vektore pre INT 67H (0:091c) a overit posun o 0H od tejto adresy. Mal by obsahovat znaky "EMSXXXX0" vid struktura zahlavia drajvera. ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Sluzby EMM ³ Na pristup k riadiacemu programu pamati EMS pouzite INT 67H ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ s podfunkciou, ktorej kod je v registri AH, ako je popisane vo funkciach EMM. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 37 Celkova mapa pamati PrehIad celkovej struktury pamati pocitacov PC/XT/AT pocas prace. Adresa Meno/Popis ßßßßßßßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 0000:0000 ³ TabuIka vektorov prerusenia: 256 4-bajtovych adries ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 0040:0000 ³ Oblast udajov ROM-BIOS. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Podrobne vid oblast udajov ROM-BIOS 0050:0000 ³ Oblast udajov DOS. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ xxxx:0000 ³ Nizko urovnove BIOS kody (citane z IBMBIO.COM na zavadzacom disku). ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ xxxx:0000 ³ Manipulatory preruseni DOS, vcetne INT 21H (IBMDOS.COM). ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ xxxx:0000 ³ Vyrovnavacie pamate, oblasti udajov a instalovateIne ³ drajvery zariadeni. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ xxxx:0000 ³ Rezidentna cast COMMAND.COM (veIkosti okolo 4 KB) vcetne manipulato- ³ rov preruseni INT 22H, INT 23H a INT 24H. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ xxxx:0000 ³ Programy a udaje typu TSR (stale rezidentne programy, atd.). ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ xxxx:0000 Aktualne vykonavany aplikacny program (program .COM alebo .EXE). Programy vlastnia celu pamat po 640 KB (a000:0000) alebo po hornu hranicu pamati, nech je akakoIvek. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ xxxx:0000 ³ Prechodne ulozena cast COMMAND.COM. Interpreter prikazov, vnutorne ³ prikazy,atd. Ak nejaky program prepise tuto oblast,znova sa zavedie. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ a000:0000 ³ Pamat EGA (rozsireny graficky adapter) pre urcite obrazove mody. ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ b000:0000 ³ Obrazova pamat pre adapter monochromatickeho monitora (tiez Herkules ³ kompatibilny). ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ b800:0000 ³ Obrazova pamat CGA (adapter farby/grafiky),(tiez Herkules strana 2). ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ od ³ Externy ROM kod. ROM-BIOS tu hIada (postupne po 2 KB blokoch) kod c800:0000 ³ na vykonanie pocas zavadzania. Takto ROM obycajne instaluje manipu- do ³ lator zariadenia (napr.: pevny disk alebo EGA BIOS). e000:0000 ³ Vid tiez ROM-sken. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ od ³ ROM moduly maticnej dosky ÝATÞ postupne v 64 KB blokoch. e000:0000 ³ Vid tiez ROM-sken. do ³ e000:ffff ³ ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ f600:0000 ³ ROM rezidentny interpreter BASIC. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ fe00:0000 ³ ROM-BIOS: POST a zavadzaci kod, manipulatory preruseni. ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ f000:fff0 ³ Instrukcia JMP na prvy vykonavaci operacny kod pri zapnuti alebo ³ stlaceni RESET. ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ f000:fff5 ³ Datum verzie BIOS (v ASCII). ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ f000:fffe ³ Identifikacny kod IBM PC. Vid premenne BIOS na konci tabuIky. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 38 Û Nad Û Oblast nad 1 megabajt je pristupna v pocitacoch triedy AT pomocou BIOS funkcie INT 15H a DOS ju vyuziva len ako RAM disk. Buduce verzie DOS (verzie nad 3.x) a ine operacne systemy alebo riadiace programy mozu pouzit tuto oblast pre multitasking alebo pre normalne pouzitie pa- mati. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Premenne ROM-BIOS Mapuje najdolezitejsie premenne ROM-BIOS a oblasti udajov. Vsetky adresy su dokumentovane a mali by byt platne vo vyssich verziach BIOS. Mapa je sekvencna podIa pamatovej adresy s potlacenim riadku na indikaciu hru- beho funkcneho zoskupenia. Neuvedene adresy treba povazovat za "rezervovane". Poznamka: Hoci zoznam BIOS udava adresy a posuny zo segmentu 40H, mnohi pro- gramatori davaju prednost pouzitiu posunov z absolutneho segmentu 00H a takto je to aj tu uvedene. Napriklad premenna, ktora je uve- dena na adrese 0:0412 moze byt tiez adresovana 0040:0012. Adresa VeIkost Obsah ÜÜÜÜÜÜ ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 0:0400 2 adresa zakladneho portu prveho adaptera RS-232 (COM1) 0:0402 2 port COM2 0:0404 2 port COM3 0:0406 2 port COM4 0:0408 2 adresa zakladneho portu prveho paralelneho adaptera tlaciarne (LPT1) 0:040A 2 port LPT2 0:040C 2 port LPT3 0:040E 2 port LPT4 0:0410 2 zariadenie/hardver instalovane/aktivne. Vid zoznam zariadeni. 0:0412 1 chyby infracerveneho spojenia klavesnice PCjr 0:0413 2 celkova pamat v kB (to iste ako AX po INT 12H) 0:0415 2 zapisnikova pamat pre vytvaranie chybovych testov 0:0417 2 bity statusu klavesnice. Vid priznaky klavesnice. 0:0419 1 aktualna (akumulujuca) hodnota vstupu pseudokIuca Alt+numpad. Normalne 0. Ak [Alt] je uvoIneny, hodnota je uchovana vo vyrov- navecej pamati klavesnice. 0:041a 2 adresa "hlavy" vyrovnavacej pamati klavesnice (klavesovy uder tejto adresy je vedIa) 0:041c 2 adresa "chvosta" vyrovnavacej pamati klavesnice. 0:041e 20H vyrovnavacia pamat klavesnice. BIOS tu uchovava klavesove ude- ry (hlava a chvost udavaju adresy od 041eH az 043dH vratane). 0:043e 1 disketova jednotka potrebuje rekalibraciu (bit 0=A,bit 1=B atd) 0:043f 1 motor disketovej jednotky bezi (bit 0=A, bit 1=B, atd.). 0:0440 1 doba vypnutia motora.INT 08H vypina motor,ked tento dosiahne 0. 0:0441 1 kod statusu chyby disketovej jednotky. Ten isty ako status vrateny INT 13H. 0:0447 1 informacna oblast statusu radica disketovej jednotky. 0:0449 1 aktualny aktivny obrazovy mod. Vid obrazove mody a INT 10H. 0:044a 2 sirka obrazovky v textovych stlpcoch 0:044c 2 dlzka (v bajtoch) obrazovej oblasti (regeneracia veIkosti) 0:044e 2 posun z obrazoveho segmentu aktivnej obrazovej strany pamati strana: 39 0:0450 10H umiestnenie kurzora. Osem dvojbajtovych hodnot;dolny bajt=stlp. horny bajt=riad. 0:0460 2 veIkost kurzora (tvar). Dolny bajt= koncovy rozkladovy ria- dok; horny bajt=startovaci riadok. 0:0462 1 cislo aktualnej aktivnej obrazovej strany 0:0463 2 adresa portu pre cip obrazoveho radica 6845. Vid V/V porty CGA 0:0465 1 aktualna hodnota obrazoveho radica 6845 CRT_MODE (register 3x8H portu) 0:0466 1 aktualna hodnota obrazoveho radica 6845 CRT_PALETTE (register 3x9H portu) 0:0467 5 kazetova oblast udajov alebo oblast udajov POST 0:046c 4 citac tikov casovaca (pocet 55ms tikov od vynulovania) 0:0472 1 priznak pretecenia casovaca (casovac sa pretocil). 0:0471 1 priznak Ctrl-Break. Bit 7=1 ak bol stlaceny Break. Nikdy sa nevynuluje, ak sa to neurobi vedome. 0:0472 2 1234H znamena, ze znovuzavedenie Ctrl-Alt-Del sa prevadza. Toto kontroluje BIOS, aby sa obislo "studene samozavadzanie" s casovo narocnym POST. 0:0474 4 riadiaca oblast diskety Jr alebo pevneho disku ÝATÞ 0:0478 4 hodnoty casoveho odpojenia tlaciarne 0:047c 4 hodnoty casoveho odpojenia RS-232 0:0480 2 startovacia adresa posunu vyrovnavacej pamati klavesnice ÝATÞ (obycajne 01eH) 0:0482 2 koncova adresa (obycajne 003eH) 0:0484 1 riadky znakov EGA -1 (maximalna platna hodnota riadku) 0:0485 2 bajty EGA na znak (rozkladove riadky/znak pouzite v aktivnom mode) 0:0487 1 rozne informacie EGA (EGA aktivny, pouzity monochromaticky displej, atd.) 0:0488 1 rozne informacie EGA (bity vlastnosti prepinace dip) vid udajove oblasti EGA 0:0490 1 bity stavu disku ÝATÞ pre jednotku 0 (pouzite pre jednotky s kapacitou 1,2MB) 0:0491 1 pre jednotku 1 0:0492 1 startovaci priznak diskovej operacie ÝATÞ pre jednotku 0 0:0493 1 pre jednotku 1 0:0494 1 cislo pritomneho cylindra ÝATÞ pre jednotku 0 0:0495 1 pre jednotku 1 0:0497 1 dodatkovy priznak klavesnice ÝATÞ pre LED displeja 'key lock' (blok klavesu) 0:0498 4 ukazovateI 8-bitoveho priznaku cakania uzivateIa ÝATÞ. Vid INT 15H. 0:049c 4 mikrosekundy ÝATÞ pred cakanim uzivateIa 0:04a0 1 priznak aktivity cakania uzivateIa ÝATÞ. 1=obsadeny; 80H=aktualizovany; 0=potvrdeny. 0:04a1 7 rezervovane pre adaptery siete ÝATÞ 0:04a8 4 adresa tabuIky ukazovateIov EGA SAVE_PTR. Vid udajove oblasti EGA. strana: 40 0:04f0 10H oblast medziaplikacnej komunikacie. Programy vyuzivaju tuto oblast na uchovanie statusu atd. Mozu byt prepisane inym pro- gramom. 0:0500 1 status tlace obrazovky 00H=ok; 01H=priebezne tlacenie; 0ffH=chyba pocas tlace obrazov- ky. 0:0504 1 status pseudoflopy. 01H=jednotka A sa chova ako jednotka B. 0:0510 11H pouzivane interpreterom BASIC 0:0530 3 pouzivane prikazom MODE f000:fff0 5 instrukcia FAR JMP na spustenie POST (po tvrdom nulovani 8088/86/386 skocia sem) f000:fff5 8 ROM-BIOS uvoIni datum v ASCII (napr."04/24/81" je povovodny PC) f000:fffc 2 (nevyuzity) f000:fffe 1 kod pocitaca typu IBM (nie uplne spoIahlive) 0ffH = povodny PC ÍÍÍ moze byt tiez 0feH 0feH = XT alebo prenosny PC 0fdH = PCjr 0fcH = AT 0f9H = konvertibilny PC _________________________________________________________________________________ Mapa V/V portov Porty 000H-0ffH su rezervovane a pouzivane systemovou doskou Porty 100H-3ffH su dekodovane na V/V zbernici pre pouzitie adaptermi Porty 400H a vyssie nie su pristupne pre systemovu zbernicu Nasledujuca tabuIka obsahuje vsetky pouziteIne V/V porty pre PC/XT a AT. Pre mnohe tu spominane porty su pristupne dalsie informacie v teme: V/V porty Jednotlive porty, ktore su popisane podrobnejsie v inych temach, su zvyraznene. ÝATÞ PC/XT Popis Podrobnejsie informacie ßßßßßßß ßßßßßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ßßßßßßßßßßßßßßßßßßßßßßß 000-01f 000-00f DMA radic #1, 8237A-5 Porty DMA 020-03f 020-021 Radic preruseni,8259A 040-05f 040-043 Casovac 8253-5 (AT: 8254.2) 060-063 PPI (programovateIny interfejs peri- ferii), tlaciaren, prepinace pro- stredia, casovac 060-06f Radic klavesnice 8042 Klavesnica AT 070-07f Hodiny realneho casu, pamat CMOS, Pamat CMOS maska NMI 080 kontrolny bod diagnostiky vyrobcu 080-09f 080-083 Register stran DMA 74LS612 Porty DMA 0a0 Maska NMI (nemaskovane prerusenie) 0a0-0bf Radic preruseni #2, 8259A 0c0-0df DMA radic #2, 8237A-5 Porty DMA 0f0-0ff Matematicky koprocesor 170-177 Pevny disk (druhy) Porty pevneho disku AT strana: 41 1f0-1f7 Pevny disk Porty pevneho disku AT 200-207 200-20f V/V pre hry (A/D port pre joystick) V/V port pre hry 210-217 Blok rozsirenia 278-27f 278-27f Paralelna tlaciaren #2 (#3 s MDA) Porty tlaciarni 2c0-2df 2c0-2df EGA #2 V/V porty EGA 2f8-2ff 2f8-2ff Porty asynchronneho radica #2 Seriove porty 300-31f Vzorova karta 320-32f Pevny disk Porty pevneho disku XT 370-377 Radic pruznych diskov (druhy) Porty pruznych diskov 370-37f 378-37f Paralelna tlaciaren #1 (#2 s MDA) Porty tlaciarni 380-38f 380-38f Synchronne riadenie spojenia udajov (SDLC) 3a0-3af 3a0-3a9 binarne synchronny port #1 3b0-3bf 3b0-3bf Adapter monochromatickeho obrazu/ Porty tlaciarni /tlaciaren #1 3c0-3cf 3c0-3cf Adapter rozsirenej grafiky (EGA) #1 V/V porty EGA 3d0-3df 3d0-3df Adapter farby/grafiky (CGA) a EGA V/V porty CGA 3f0-3f7 3f0-3f7 Radic pruznych diskov Porty pruznych diskov 3f8-3ff 3f8-3ff Port asynchronnych radicov #1 Seriove porty ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DOS Fn 00H: Ukoncenie programu ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 00H ÀÄÄÄÄÄÄÄÄĶ CS º Segment PSP z konciaceho procesu ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º (nepouziteIny) ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Riadenie prechadza na vektor ukoncenia v PSP (vystup do nadradeneho procesu). Identicke ukoncenie ako INT 20H. Segmentovy register CS musi byt nastaveny v PSP. Meni vektory prerusenia DOS 22H-24H (ukoncenie, Ctrl-Break a kri- ticke chyby) na hodnoty uchovane od nadradeneho PSP. Vyprazdnuje vyrovnavaciu pamat suborov, ale subory maju byt uzavrete, ak sa zmenila ich dlzka. Poznamka: Je Iahsie a spravnejsie pouzit funkciu vystupu z DOS 4cH. Pozri tiez: Funkcie riadenia procesu Funkcie DOS DOS Fn 01H: Vstup z klavesnice ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 02H ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º vybrany znak zo standardneho vstupu ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Cita (ocakava) znak zo zariadenia standardneho vstupu. Zobrazuje tento znak na zariadeni standardneho vystupu. Ak je indikovany Ctrl-Break vykona sa INT 23H. strana: 42 Poznamka: Rozsirene ASCII klavesy (napr.: F1-F12, PgUp, kurzor a pod.) pozaduju dve volania tejto funkcie. Prve volanie vracia AL=0. Druhe volanie vracia AL s rozsirenym kodom ASCII. Vid tiez: Funkcie V/V znakov Funkcie DOS DOS Fn 02H: Vystup na obrazovku ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 02H ÀÄÄÄÄÄÄÄÄĶ DL º znak zobrazovany na standardnom vystupe ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Posiela znak z DL na standardny vystup. Backspace (ASCII 8) osetruje posunom kurzora doIava a ponechava ho tam. Ak sa zisti Ctrl-Break vykona sa INT 23H. Vid tiez: Funkcie V/V znakov Funkcie DOS DOS Fn 03H: Pomocny vstup ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 03H ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º vybrany znak zo standardneho pomocneho zariadenia ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Cita (ocakava) znak zo standardneho pomocneho zariadenia, COM1 alebo AUX, a dava tento znak do AL. Poznamka: Vstup nema vyrovnavaciu pamat a musi byt volany (nie je riadeny pre- rusenim). Po spusteni DOS port AUX (COM1) je inicializovany nasle- dovne: 2400 Bd bez parity 1 stop bit 8-bitove slovo DOS prikaz MODE sa pouzije na inicializaciu roznych nastaveni. Vid tiez: Funkcie V/V znaku INT 14H Seriove porty Funkcie DOS DOS Fn 04H: Pomocny vystup ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 04H ÀÄÄÄÄÄÄÄÄĶ DL º znak zapisovany na standardne pomocne zariadenie ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Posiela znak z DL do standardneho pomocneho zariadenia,COM1 alebo AUX. Pre dalsie informacie vid pomocny vstup DOS Fn 03H. Vid tiez: Funkcie V/V znaku INT 14H Seriove porty Funkcie DOS strana: 43 DOS Fn 05H: Vystup na tlaciaren ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 005H ÀÄÄÄÄÄÄÄÄĶ DL º zapis znaku na standardnu tlaciaren ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Posiela znak z DL na standardnu tlaciaren, normalne LPT1. Poznamka: DOS prikaz MODE moze presmerovat tento vystup na seriovy port. Vid tiez: Funkcie V/V znakov INT 17H Porty tlaciarni Funkcie DOS DOS Fn 06H: V/V obsluzna jednotka ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 06H ÀÄÄÄÄÄÄÄÄĶ DL º 0 az 0feH znak zapisovany na standardny vystup º º 0ffH ziadost o vstup zo standardneho vstupu ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º ZF º nulovanie (NZ) ak je znak pripraveny ÍÍËÍ pri ziadostiach ³ º º º o vstup ÀÄÄÄÄÄÄÄÄĶ AL º citanie znaku ak ZF je prazdne Íͼ (ak DL=0ffH) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Ak DL je 0ffH prevedie sa vstup z obsluznej jednotky bez cakania, ktora vracia priznak nuly (ZF), nastavi (ZR) ak nie je znak pripra- veny. Ak je znak pripraveny, vracia nulovany ZF (NZ) so znakom, ktory bol nacitany do AL. Ak obsah DL je rozny od 0ffH, DL sa posiela na standardny vystup. Poznamka: Nekontroluje Ctrl-Break. Vola sa dvakrat pre rozsireny ASCII. Vid tiez: Funkcie V/V znakov Funkcie DOS DOS Fn 07H: Nefiltrovany vstup z OJ bez odozvy ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 07H ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º znak vybrany zo standardneho vstupu ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Cita (ocakava) znak zo zariadenia standardneho vstupu a dava ho do AL. Nefiltrovany: nezistuje Ctrl-Break, backspace atd. Poznamka: Pre vstup znaku rozsireneho ASCII vola sa dvakrat. Na kontrolu statusu pouziva Fn 0bH (ak nechcete cakat na klavesu). Vid tiez: Funkcie V/V znakov Funkcie DOS strana: 44 DOS Fn 08H: Vstup z obsl. jednotky bez odozvy ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 08H ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º znak vybrany zo standardneho vstupu ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Cita (ocakava) znak zo zariadenia standardneho vstupu a dava ho do AL. Ak je zisteny Ctrl-Break, vykona sa INT 23H. Poznamka: Vstup znaku rozsireneho ASCII sa vola dvakrat. Vid tiez: Funkcie V/V znakov Funkcie DOS DOS Fn 09H: Zobrazenie retazca ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 09H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ukonceneho znakom $ (ASCII 24H) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Retazec az po ukoncovaci znak $ sa posiela na standardny vystup. Backspace sa osetruju ako funkcia zobrazenia znaku 02H. Bezny postup pre zobrazenie noveho riadku je vlozenie paru CR/LF (ASCII 13H a za nim ASCII 0aH) do retazca. Retazec, ktory obsahuje znak $ mozno vytlacit pomocou osetrenia zapisu 40H (BX=0). Vid tiez: Funkcie V/V znakov Funkcie DOS DOS Fn 0aH:Vstup retazca do vyrovnavacej pamati ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 0aH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa vstupnej vyrovnavacej pamati (vid dalej) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º vyrovnavacia pamat obsahuje vstup ukonceny pomocou CR ÀÄÄÄÄÄÄÄÄĶ º (ASCII 13H) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Na vstupe musi byt vyrovnavacia pamat DS:DX nastavena nasledovne: ÚÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄ Ä Ä ³max³ ? ³ ? ? ? ? ? MAX je maximalny rozsah vstupu (1 az 254) ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄ Ä Ä Na vystupe je vyrovnavacia pamat naplnena nasledovne: ÚÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄ Ä Ä ³max³len³ T E X T 0dH LEN je skutocna dlzka vstupu, kratsia ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄ Ä Ä ako ukoncovaci CR (napr. 04H) strana: 45 Znaky sa citaju zo standardneho vstupu az po CR (ASCII 13H) alebo az po hodnotu MAX-1. Ak sa dosiahne MAX-1 zazvoni obsluzna jednotka (pipnutie) pre kazdy znak, pokiaI nie je precitany Enter (CR). Druhy bajt vyrovnavacej pamati je naplneny skutocnou dlzkou vstupu maximalne po CR. Ako posledny znak vo vyrovnavacej pamati je vzdy CR, ktory nie je zahrnuty v bajtoch dlzky. Znaky vo vyrovnavacej pamati (obsahujuce LEN) pred volanim sa pouzi- vaju ako sablona a editovacie kIuce DOS posobia nasledovne: [Esc] zobrazi "\" a znovu spustia editovanie, [F3] zobrazi az do konca sablony, [F5] zobrazi "@" a ulozi aktualny riadok podIa sablony, atd. Vacsina klaves rozsireneho ASCII sa ignoruje. Ak sa zisti Ctrl-Break vykona sa INT 23H a vyrovnavacia pamat ostava nezmenena. Vid tiez: Funkcie V/V znakov Funkcie DOS DOS Fn 0bH: Kontrola vstupneho statusu ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 0bH ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0ffH ak znak nie je dostupny zo standardneho vstupu ÀÄÄÄÄÄÄÄÄĶ º 0 ak nie je ziadny znak ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Kontroluje status standardneho vstupu. Ak sa zisti Ctrl-Break, vykona sa INT 23H. Poznamka: Pouziva sa pred funkciami 01H 07H a 08H, aby DOS necakal na stlacenie klavesy. Toto je jednoduchy nedestruktivny sposob kontroly Ctrl-Break pocas dlhych vypoctov alebo ineho spracovania, ktore inac nekontroluju vstup. Umoznuje pouzivateIovi prerusenie v takejto sekvencii. Vid tiez: Funkcie V/V znakov INT 16H Funkcie DOS DOS Fn 0cH: Vymaz a vstup ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 0cH ÀÄÄÄÄÄÄÄÄĶ AL º cislo vstupnej funkcie DOS (01H, 06H, 07H, 08H alebo 0aH) º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vymazava vyrovnavaciu pamat standardneho vstupu a potom vzyva vstupnu funkciu DOS danu v AL. Toto nuti system cakat na natypovanie znaku. Pre AL su urcene hodnoty: 01H Vstup z klavesnice 06H V/V obsluzna jednotka (OJ) 07H Nefiltrovany vstup z OJ bez odozvy 08H Vstup z OJ bez odozvy 0aH Vstup retazca do vyrovnavacej pamati Vid tiez: Funkcie V/V znakov Funkcie DOS strana: 46 DOS Fn 0dH: Vymaz disku ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 0dH ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vymazava vsetky vyrovnavacie pamate so subormi. Ak sa zmenila veIkost suboru, mal by byt uzavrety pred pouzitim tejto funkcie (na uzavretie suboru sa pouziju funkcie 10H alebo 3eH). Vid tiez: Rozne funkcie DOS Funkcie DOS DOS Fn 0eH: Vyber standardneho disku DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 0eH ÀÄÄÄÄÄÄÄÄĶ DL º cislo jednotky (0=A, 1=B, atd.) urci standardny disk DOS ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º celkovy pocet systemovych jednotiek ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Jednotka uvedena v DL sa stane aktualnou standardnou jednotkou DOS. Test chyb -- pouziva funkciu DOS 19H Zistenie standardneho disku DOS na overenie cinnosti. Hodnota navratu v AL je pocet jednotiek IubovoIneho typu vratane pevneho disku a 'logickych' jednotiek (tak ako B: v 1-floppy system). Verzie: Hodnota AL DOS 3.0+ je rovnaka ako hodnota LASTDRIVE, ako je urcena v subore CONFIG.SYS a je standardne 5. Vid tiez: Adresar a funkcie suborov INT 11H (Kontrola zariadenia) Funkcie DOS DOS Fn 0fH: Otvorenie suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 0fH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa neotvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak je subor otvoreny bez chyby (a FCB je naplneny) ÀÄÄÄÄÄÄÄÄĶ º 0ffH ak sa vyskytne chyba a subor nemohol byt otvoreny ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Subor urceny pomocou neotvoreneho FCB uz musi existovat v standardnom adresari na jednotke urcenej v FCB (0=standard, 1=A, 2=B, atd.). Ak sa nezisti po navrate AL=0ffH. Subor je otvoreny pri kompatibilite s modom pristupu. Ak je pole Drv 0 pred volanim, naplni sa cislom jednotky standardneho disku v FCB (1=A, 2=B, atd.). Pole CurBlk v FCB je nastavene na 0. Pole RecSize v FCB je nastavene na 80H. VeIkost suboru FCB a datum su nastavene podIa informacie v adresari. Poznamka: Pouzivanie osetrujucich funkcii DOS 2.0+ je oveIa jednoduchsie. Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS strana: 47 DOS Fn 10H: Uzavretie suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 10H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa otvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak je subor zatvoreny bez chyby ÀÄÄÄÄÄÄÄÄĶ º 0ffH ak sa subor nenasiel po otvoreni Fn 0fH ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vstup suboru musi byt na tom istom mieste v aktualnom standardnom adresari disku, z ktoreho bol otvoreny. Ak sa subor NASIEL adresar je aktualizovany, vyrovnavacie pamate so subormi su vymazane a po navrate AL=00H. Ak sa subor NENASIEL adresar nie je aktualizovany, nastane mnozstvo neocakavanych situacii a po navrate AL=0ffH. Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS DOS Fn 11H: Najdenie prveho suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 11H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa neotvoreneho FCB (spec.suboru obsahuje znaky "?") ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak sa porovnanim nasiel nazov suboru (a DTA je plne) ÀÄÄÄÄÄÄÄÄĶ º 0ffH ak nedoslo k porovnaniu ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: VyhIadava sa standardny adresar DOS porovnavaneho suboru, ktory je do FCB dany pomocou DS:DX. Ak nedoslo k porovnaniu v AL bude 0ffH. Ak doslo k porovnaniu v AL bude po navrate 00h, DTA bude naplnene prvym bajtom ako jednotka (A=1,b=2,atd.) a polozka adresara o subore bude uchovany v dalsich 32 bajtoch. Pri vyvolavani mozno pouzit rozsireny FCB na vyber specifickych suborov s urcenymi vlastnostami suborov. V tom pripade je DTA naplnene obsahom 0ffH,7 bajt 00,cislom jednotky a zaznamom v adresari. V oboch pripadoch je DTA naplnene platnym neotvorenym FCB. Na hIadanie dalsich porovnani sa pouzije Fn 12H DOS Najdenie nasledujuceho suboru pomocou FCB . Poznamka: Ak chceme hIadat viac suborov nemozeme vykonavat ziadnu V/V operaciu na najdenom subore.Pred otvorenim FCB treba vytvorit bezpecnostnu kopiu. Pouzitie funkcie 4eH DOS 2.0+ Najdenie prveho suboru je jednoduchsie a vyuziva sa tu format d:\path\filespec, ktory sa ocakava na vstupe pouzivateIa. Vid tiez: Adresar a funkcie suboru Fn 1aH DOS Nastavenie DTA Funkcie DOS strana: 48 DOS Fn 12H: Najdenie nasl. suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 12H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa neotvoreneho FCB (spec. suboru obsahuje znaky "?") ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak sa nasiel porovnavany nazov suboru (DTA naplnene) ÀÄÄÄÄÄÄÄÄĶ º 0ffH ak nedoslo k porovnaniu ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Pouzitie po vyvolani Fn 11H DOS Najdenie prveho FCB s celkovou specifikaciou suboru.Kazde postupne vyvolanie naplnuje DTA polozkou adresara dalsej porovnavanej specifikacie suboru a vracia AL=00H ak doslo k porovnaniu, alebo AL=0ffH ak k porovnaniu nedoslo. Vyhradena oblast FCB obsahuje informaciu, ktoru mozno pouzit ak sa pokracuje vo vyhIadavani,takze nemozno otvarat alebo menit FCB medzi jednotlivymi volaniami. Vid tiez: Adresar a funkcie suborov Fn 1aH Nastavenie DTA Funkcie DOS DOS Fn 13H: Zrusenie suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 13H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa neotvoreneho FCB (spec. suboru obsahuje znaky "?") ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak bol subor zruseny ÀÄÄÄÄÄÄÄÄĶ º 0ffH ak sa subor nenasiel alebo pristup bol odmietnuty ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vsetky porovnavane specifikacie suborov aktualneho standardneho adresara na jednotke urcenej v FCB su zrusene. Ak sa nenajdu porovnavane specifikacie suborov, alebo ak sa odmietne pristup (pri pokuse o zrusenie suboru s vlastnostou suboru Read-Only) AL vracia 0ffH. Vid tiez: Adresar a funkcie suborov Fn 41H DOS Zrusenie suboru Funkcie DOS DOS Fn 14H: Citanie sekvencneho suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 14H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa otvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak citanie prebehlo uspesne a DTA obsahuje udaje ÀÄÄÄÄÄÄÄÄĶ º 1 ak sa dosiahol EOF a neboli precitane ziadne udaje º º 2 ak DTA+ FCB RecSiz preplnil segment (bez citania) º º 3 ak sa precital EOF a cast zaznamu (vyplnene nulami) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Cita bajt FCB RecSize z adresy suboru urcenej pomocou CurBlk a CurRec v DTA. Potom adresa suboru narasta o blok a zaznam. Presvedcte sa pred operaciami sekvencneho suboru,ze CurRec je 0, pretoze Fn 0fH Otvorenie FCB ho neinicializuje. Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS strana: 49 DOS Fn 15H: Zaznam sekvencneho suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 15H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa otvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak zapis prebehol uspesne ÀÄÄÄÄÄÄÄÄĶ º 1 ak je disk preplneny a ziadne udaje sa nezapisali º º 2 ak DTA+ FCB RecSize preplnil segment (bez citania) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Zapisuje bajt FCB RecSize z DTA do adresy suboru urcenej pomocou CurBlk a CurRec. Potom adresa suboru narasta o blok a zaznam. Presvedcte sa pred operaciami sekvencneho suboru, ze CurRec je 0, pretoze Fn 0fH Otvorenie FCB ho neinicializuje. Poznamka: DOS uklada udaje do vyrovnavacej pamati az kym cely sektor nemoze byt zapisany. Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS DOS Fn 16H: Vytvorenie suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 16H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa neotvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak sa subor vytvoril bez chyby (FCB je naplneny) ÀÄÄÄÄÄÄÄÄĶ º 0ffH ak sa vyskytla chyba a subor nemozno vytvorit/otvorit ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Subor urceny neotvorenym FCB sa vytvori v standardnom adresari na jednotke urcenej v FCB (0=standard, 1=A, atd.) FCB sa naplnuje ako pri Fn 0fH DOS Otvorenie FCB. Ak subor existoval pred tymto vyvolanim, jeho polozka adresara je znovu vyuzity a dlzka suboru je nastavena na nulu. Poznamka: Pouzitie osetrujucich funkcii DOS 2.0+ je oveIa jednoduchsie. Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS DOS Fn 17H: Premenovanie suboru cez FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 17H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa zvlastneho formatu FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak bol subor uspesne premenovany ÀÄÄÄÄÄÄÄÄĶ º 0ffH subor nezisteny, novy nazov uz existuje, ina chyba ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Premenuje subor v aktualnom standardnom adresari. Pre premenovanie suborov treba pouzit nasledovnu strukturu s funkciou: ÉÍÍÍ 0=standard, 1=A, 2=B, atd. offset len ÚÄÐÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ¿ +0 0cH ³ ³ F I L E N A M E ³ E X T ³ ÍÍÍ stary nazov ÃÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +0cH 6 ³ rezervovane ³ ÃÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ¿ +11H 0bH ³ F I L E N A M E ³ E X T ³ ÍÍÍÍÍÍ novy nazov ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ strana: 50 Oba nazvy obsahuju pseudoznaky '?': V starom nazve pseudoznak sposobi hIadanie vsetkych porovnani v standardnom adresari a premenuje vsetky porovnavane specifikacie suborov. V novom nazve to znamena: pouzit ten isty znak, ktory bol zisteny na tej pozicii v starom nazve. Poznamka: Tato funkcia umoznuje premenovat adresar pouzitim rozsireneho FCB s vhodnou vlastnostou suboru stareho nazvu. Vid tiez: Adresar a funkcie suborov Fn 56H DOS Funkcie DOS DOS Fn 19H: Zistenie standardneho disku DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 19H ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º cislo aktualnej standardnej jednotky DOS (0=A, 1=B, atd.) ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia cislo jednotky aktualneho standardneho disku DOS. Vid tiez: Adresar a funkcie suborov 0eH Nastavenie CurDisk Funkcie DOS DOS Fn 1aH: Nastavenie DTA ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 1aH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa DTA ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Tato funkcia nastavuje adresu prenosu disku (DTA). Vsetky pristupy suboru typu FCB sa vykonavaju v DTA. DOS neumoznuje pristupy suborov s cyklickym spracovanim adries hranic segmentu. Funkcie hIadajuce subor: 11H 12H 4eH a 4fH umiestnuju udaje do DTA DTA je globalna,takze treba davat pozor pri jej nastavovani v rekurzivnej alebo viacnasobne pristupnej procedure. Ak bol program spusteny jeho DTA sa nastavi na offset 80H v PSP. Vid tiez: 2fH Urcenie DTA Funkcie DOS DOS Fn 1bH: Zistenie inf. FAT (aktualny disk) ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 1bH ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º DS:BX º adresa bajt FAT ID (indikujuci typ disku) ÀÄÄÄÄÄÄÄÄĶ DX º uplny zhluk (jednotky umiestnenia) na disku º AL º pocet sektorov na zhluk º CX º pocet bajtov na sektor ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 51 Popis: Informacia po navrate o kapacite a type standardneho disku. Kapacita disku v bajtoch = (DX x AL x CX). Zisti voIne miesto pomocou Fn 36H Disk Free alebo 32H Disk Info DOS. Verzie: DOS 1.x drzal FAT v pamati a vratil DS:DX = FAT. DOS 2.0+ moze drzat v pamati iba cast FAT. Pozor: Meni hodnotu obsahu registra segmentu DS. Vid tiez: TabuIka umiestnenia suboru 1cH 36H 32H funkcie DOS Funkcie DOS DOS Fn 1cH: Zistenie inf. FAT (IubovoIny disk) ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 1cH ÀÄÄÄÄÄÄÄÄĶ DL º cislo jednotky (0=standard, 1=A, atd.) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º DS:BX º adresa bajtu FAT ID (oznacuje typ disku) ÀÄÄÄÄÄÄÄÄĶ DX º uplny zhluk (jednotky umiestnenia) na disku º AL º pocet sektorov na zhluk º CX º pocet bajtov na sektor ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Rovnako ako pri Fn 1bH DOS Get FAT Cur okrem DL, ktora urcuje jednot- ku, pre ktoru pozadujeme informaciu. Verzie: Pomocou DOS 1.x nedostupne. Vid tiez: TabuIka priradenia suboru Funkcie DOS 1bH 36H 32H Funkcie DOS DOS Fn 21H: Citanie rozptyleneho zaznamu ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 21H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa otvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak citanie bolo uspesne a DTA je naplnene udajmi ÀÄÄÄÄÄÄÄÄĶ º 1 ak sa dosiahol EOF a udaje boli precitane º º 2 ak DTA + FCB RecSize prebehli segment (bez citania) º º 3 ak precitane EOF a ciastocna veta (doplnena nulami) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Nastavuje FCB CurBlk a CurRec v zhode s hodnotou RandomRec, potom cita bajt RecSize z urcenej adresy suboru a udaje umiestnuje do pa- mati od adresy DTA. Presvedcte sa, ze RecSize je nastavene na dlzku zaznamu a RandomRec v FCB na pozadovane cislo zaznamu. Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS DOS Fn 22H: Zapis rozptyleneho zaznamu ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 22H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa otvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 zapis bol uspesny ÀÄÄÄÄÄÄÄÄĶ º 1 preplnenie disku º º 2 DTA + FCB RecSize prebehne segment (bez zapisu) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 52 Popis: Nastavuje FCB CurBlk a CurRec v zhode s RandomRec, potom zapise RecSize z DTA na disk na urcenu adresu suboru. Presvedcte sa ci RecSiz je nastaveny na dlzku zaznamu a RandomRec v FCB na pozadovane cislo zaznamu. Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS DOS Fn 23H:Zistenie veIkosti suboru pomocou FCB ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 23H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa neotvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 subor bol najdeny ÀÄÄÄÄÄÄÄÄĶ º 0ffH subor nebol v aktualnom adresari ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Nastavuje pole RandomRec v FCB, aby oznacil koIko zaznamov RecSize bajtov sa nachadza v subore. Presvedcte sa, ci RecSize je nastavene pred volanim. Aka nastvujete RecSize na 1, potom RandomRec vyhradi 4-bajtovu hodnotu veIkosti su- boru v bajtoch. VeIkost suboru mozno urcit Iahsie pouzitim 3dH Open Handle a po nom 42H Lseek Handle (AL=2). Vid tiez: Adresar a funkcie suborov Funkcie DOS DOS Fn 24H:Nastavenie adresy rozptyleneho bloku ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 24H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa otvoreneho FCB ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Nastavuje pole RandomRec v FCB na adresu suboru, ktora koresponduje s hodnotami CurBlk a CurRec. Vid tiez: V/V subor FCB 42H Lseek Handle Funkcie DOS DOS Fn 25H: Nastavenie vektora prerusenia ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 25H ÀÄÄÄÄÄÄÄÄĶ AL º cislo prerusenia º DS:DX º vektor prerusenia: adresa kodu na obsluhu prerusenia ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 53 Popis: Nastavuje polozku tabuIky vektora prerusenia pre cislo prerusenia AL do DS:DX. Rovnako ako uchovanie 4-bajtovej adresy v 0000:(AL*4), ale DOS vie co sa robi a zarucuje, ze sa nevyskytne ziadne hardverove prerusenie pocas ukladania do pamati. Pozor: Nezabudnite zmenit DS back (ak je potrebne) po tomto volani. Vid tiez: 35H Get Interrupt Vector Funkcie DOS DOS Fn 26H: Vytvorenie PSP ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 26H ÀÄÄÄÄÄÄÄÄĶ DX º adresa segmentu (paragraf) noveho PSP º CS º segment PSP pouzity ako sablona pre novy PSP ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Nastavuje PSP pri podriadenom procese pri DX:0000. Aktualny PSP (100H bajt od CS:0) sa kopiruje do DX:0. Nastavi sa pole MemTop. Vektory Terminate, Ctrl-Break a Critical Error sa skopiruju do PSP z vektorov INT 22H INT 23H a INT 24H. Program mozno zaviest z disku a vykona sa pomocou FAR JMP. Informaciu o zavedeni suboru formatu EXE dava zahlavie EXE. Poznamka: Ak sa zachyti INT 21H, treba sa presvedcit, ci bola spravne zanechana zasobnikova pamat CS:IP. Treba sa snazit vyhnut tomuto vyvolaniu, namiesto toho pouzit funkciu 4cH DOS (EXEC). Vid tiez: Prefix programoveho segmentu (PSP) Funkcie DOS DOS Fn 27H: Citanie rozptyleneho bloku ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 27H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa otvoreneho FCB º CX º cislo zaznamu, ktory sa ma precitat ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 citanie bolo uspesne a DTA je naplnene udajmi ÀÄÄÄÄÄÄÄÄĶ º 1 dosiahnutie EOF bez precitania udajov º º 2 DTA + FCB (RecSize * CX) prebehli segment º º 3 precitanie EOF a ciastocnej vety (doplnena nulami) º CX º aktualne cislo citaneho zaznamu ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Cita vicnasobne zaznamy zo suboru od adresy urcenej pomocou poIa RandomRec v FCB. Uklada udaje do pamati od adresy DTA. Pocet cita- nych bajtov = FCB RecSize*CX. Polia RandomRec, CurBlk a CurRec ukazuju na nasledujuci zaznam (prvy zaznam, ktory nebol citany). Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS strana: 54 DOS Fn 28H: Zapis rozptyleneho bloku ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 28H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa otvoreneho FCB º CX º cislo zaznamu, ktory sa ma zapisat º º (ak CX=0, nastavena veIkost suboru) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 zapis bol uspesny ÀÄÄÄÄÄÄÄÄĶ º 1 preplnenie disku º º 2 DTA + FCB (RecSize * CX) prebehne segment º CX º aktualny pocet zapisanych viet ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Zapisuje viacnasobne zaznamy zo suboru od adresy urcenej pomocou poIa RandomRec v FCB. Berie udaje z pamati od adresy DTA. Pocet zapisa- nych bajtov = RecSize*CX. Ak CX = 0, subor je zhusteny alebo rozsireny na veIkost RandomRec * RecSize a ziadne udaje nie su zapisane. Vid tiez: V/V subor FCB V/V manipulacny subor Funkcie DOS DOS Fn 29H: Syntakticka analyza nazvu suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 29H ÀÄÄÄÄÄÄÄÄĶ DS:SI º adresa zdrojoveho textoveho riadku, ktory sa ma analyzovat º ES:DI º adresa vyrovnavacej pamati na uchovanie vysledku neotvore- º º neho FCB º AL º bit priznaku na vyber volieb syntaktickej analyzy ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 vysledok FCB neobsahuje ziadne pseudoznaky ÀÄÄÄÄÄÄÄÄĶ º 1 vysledok FCB obsahuje pseudoznaky º º 0ffH nespravna jednotka ID v specifikacii suboru º DS:SI º aktualizovane: body do znaku prechadzajuce menom suboru º ES:SI º uchovavane: body do netvoreneho FCB ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vytvori neotvoreny FCB z textoveho riadku alebo poveloveho parametra. Text zacinajuci od DS:SI je syntakticky analyzovany pre specifikovany subor v tvare D:FILENAME.EXT a vyrovnavacia pamat od ES:DI je napl- nena ako vlastny formatovany FCB. ÍÍÍÍÍÍÍ Tato funkcia nie je potrebna pre textovy riadok obsahujuci nazov cesty. Je to v podstate rychly sposob preradenia horneho radu klaves a odstranenia bodky (.) zo vstupu nazvu suboru z klavesnice. Prevadza '*' na rad '?'a umoznuje nastavit v predstihu standardnu hodnotu v FCB urcenia (napr. rozsirenie = "WKS"). Syntakticka analyza zavisi na priznakovych bitoch v AL: Ö7Â6Â5Â4Â3Â2Â1Â0· º0 0 0 0³ ³ ³ ³ º ÓÄÁÄÁÄÁÄÁÒÁÒÁÒÁÒ½ bit hodnota masky º º º ÈÍ 0: 1=urcuje pociatocne separatory (a & 01H) º º ÈÍÍÍ 1: 1=bajt jednotky FCB standardny (a & 02H) º ÈÍÍÍÍÍ 2: 1=nazov suboru FCB standardny (a & 04H) ÈÍÍÍÍÍÍÍ 3: 1=rozsirenie FCB standardne (a & 08H) Vid tiez: Funkcie DOS strana: 55 DOS Fn 2aH: Zistenie datumu DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 2aH ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º den v tyzdni (0=nedeIa, 1=pondelok,...6=sobota) DOS 3.0+ ÀÄÄÄÄÄÄÄÄĶ CX º rok (1980 az 2099) º DH º mesiac (1 az 12) º DL º den (1 az 31) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia aktualne datum ako zname do systemu. Verzie: Technicke prirucky DOS 2.x nezarucuju navrat hodnoty 'den' do AL; avsak tak isto vsetky ostatne verzie (1.0+) DOS. Verzie pred 2.1 mali problemy s pretacanim datumu. Vid tiez: 2cH Get Time 2bH Set Date Funkcie DOS DOS Fn 2bH: Nastavenie datumu DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 2bH ÀÄÄÄÄÄÄÄÄĶ CX º rok (1980 az 2099) º DH º mesiac (1 az 12) º DL º den (1 az 31) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 platny datum ÀÄÄÄÄÄÄÄÄĶ º 0ffH neplatny datum (30 dni ma september...) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Nastavuje datum systemu DOS. Vid tiez: 2cH Set Time 2aH Get Date Funkcie DOS DOS Fn 2cH: Zistenie casu DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 2cH ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º CH º hodiny (0 az 23) ÀÄÄÄÄÄÄÄÄĶ CL º minuty (0 az 59) º DH º sekundy (0 az 59) º DL º stotiny sekundy (0 az 99) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia aktualny cas ako znamy do systemu. Poznamka: Ak systemove hodiny tikaju v intervaloch 18.2 krat za sekundu (55ms), presnost DL je asi 0,04 sekundy. Informacie o systemovych hodinach dava INT 08H a INT 15H. Vid tiez: 2dH Set Time 2aH Get Date Funkcie DOS strana: 56 DOS Fn 2dH: Nastavenie casu DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 2cH ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º CH º hodiny (0 az 23) ÀÄÄÄÄÄÄÄÄĶ CL º minuty (0 az 59) º DH º sekundy (0 az 59) º DL º stotiny sekundy (0 az 99) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Nastavuje cas systemu DOS. Vid tiez: 2dH Get Time 2aH Set Date Funkcie DOS DOS Fn 2eH:Nastavenie/zrusenie verif. prepinaca ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 2eH ÀÄÄÄÄÄÄÄÄĶ AL º 0 verifikacia vypnuta º º 1 verifikacia zapnuta ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Rozhoduje, ci DOS bude verifikovat (spatne citanie) kazdy sektor po jeho zapise na disk. Toto spomaIuje zapis na disk, ale zabezpecuje maximalnu integritu udajov. Funkcia 56H DOS Get Verify vracia aktualny status verifikacie DOS. Vid tiez: Fn 56H DOS Funkcie DOS DOS Fn 2fH: Zistenie aktualnej DTA ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 2fH ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º ES:BX º adresa pociatku aktualnej DTA ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia adresu pociatku DTA (adresa prenosu disku). Ak DTA je globalnou hodnotou nejakeho procesu, v rekurzivnej proce- dure (pri traverzovani v stromovej strukture adresara) bude potrebne pouzit tuto proceduru na uchovanie DTA a potom ju nastavit spat pomo- cou funkcie 1aH DOS Set DTA. Poznamka: Tato funkcie meni obsah registra segmentu ES. Vid tiez: 1aH Set DTA Funkcie DOS strana: 57 DOS Fn 30H: Zistenie cisla verzie DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 30H ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º cislo vyssej verzie ÀÄÄÄÄÄÄÄÄĶ AH º cislo nizsej verzie º BX,CX º 0000H DOS 3.0+ ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia do AX hodnotu aktualnej verzie DOS. Napriklad, ak je DOS 3.2 aktivny, AL vracia 3 a AH vracia 2. Poznamka: Ak AL vracia 0, mozno predpokladat, ze aktivna verzia DOS predchadza DOS 2.0. Verzie: DOS 2.x nezarucuje, ze CX a BX budu po navrate 0. Vid tiez: Verzie DOS Funkcie systemovych informacii Funkcie DOS DOS Fn 31H:Ukoncenie a uchovanie v pamati--KEEP ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 31H ÀÄÄÄÄÄÄÄÄĶ AL º kod vystupu º DX º kapacitu pamati uchovat v 16 bajtovych paragrafoch ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º (nevyuzite) ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vystupuje do nadriadeneho procesu a nastavuje kod vystupu do AL. Kod vystupu mozno obdrzat pomocou funkcie 4dH DOS Wait. DOS nastavuje pociatocne umiestnenie pamati na hodnotu danu DX, vracia riadenie do nadriadeneho procesu a usetri si tak veIku cast pamati (uchovane bajty = DX * 16). Tato funkcia vyradi INT 27H, ktora nevracia kod vystupu a nie je schopna instalacie rezidentnych programov vacsich nez 64K. Vid tiez: Funkcie riadenia procesu Start a ukoncenie programu Funkcie DOS DOS Fn 32H:Zistenie inf. o disku DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 32H nedokumentovana ÀÄÄÄÄÄÄÄÄĶ DL º cislo jednotky (0=standard, 1=A, atd.) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 v DL bola platna jednotka ÀÄÄÄÄÄÄÄÄĶ FF º 0ffH neplatna jednotka º DS:BX º adresa informacneho bloku disku pozadovanej jednotky ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia blok informacii, ktory je potrebny pre aplikacie a utility, ktore prevadzaju pristup urovne sektoru diskovych jednotiek, podpo- rovanych drajvermi zariadeni. Niektore diskove jednotky (zvlast nesamozavadzateIne jednotky) pracu- ju uplne pomocou pristupu do ich instalovateIneho drajvera zariade- nia. Tieto jednotky nemozu obsahovat platnu informaciu v samozavadzacom zazname a tabuIke rozdelenia, ktora stazuje jej umiestnenie napr. veIkost adresara najvyssej urovne stromovej struktury alebo cisla tabuliek FAT, atd. Informacny blok disku obsahuje vsetky tieto informacie a je vhodne formatovanou strukturou. Toto moze byt jedina cesta ako najst adresu drajvera zariadenia. strana: 58 Pozor: Meni hodnotu registra segmentu DS. Tato nedokumentovana funkcia sa moze zmenit v dalsich verziach DOS. Vid tiez: Informacny blok disku INT 25H/26H Funkcie DOS DOS Fn 33H: Nastav./dotaz kontrol.urovne Break ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 33H ÀÄÄÄÄÄÄÄÄĶ AL º 0 pozaduje aktualny kontrolny stav Ctrl-Break º º 1 nastavuje kontrolny stav Ctrl-Break º DL º pozadovany stav (0=OFF, 1=ON) (pouziva sa iba ak AL=1) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º DL º aktualny stav (0=OFF, 1=ON) ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Ak AL=0 do DL sa vracia aktualny stav kontroly Ctrl-Break. Ak AL=1 aktualny stav sa vracia do DL. Ak Break je ON, DOS kontroluje Ctrl-Break z obsluznej jednotky v priebehu vacsiny funkcii (okrem 06H a 07H). Ak sa zisti, ze INT 23H sa vykonava (ak INT 23H sa nezachytilo zrusi sa spracovanie). Ak je Break OFF, DOS kontroluje Ctrl-Break pocas standardneho V/V , standardnu tlaciaren a len standardne operacie AUX. Vid tiez: 0bH Input Status INT 23H Funkcie DOS DOS Fn 34H: Stavova adresa navratu DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 34H nedokumentovana ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º ES:BX º adresa priznaku aktivity DOS ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Tuto nedokumentovanu funkciu pouziva PRINT (subezna tlac v pozadi DOS), ak je instalovana tak, ze neskor urcuje moznost pouzitia sluzieb DOS (otvorenie/citanie/zatvorenie). Po navrate z tejto funkcie, ES:BX ma adresu vnutorneho priznaku DOS, ktory urcuje, ci funkcia DOS sa prave vykonava. Ak spooler potrebuje otvorit subor (alebo pouzit IubovoIne sluzby DOS) kontroluje tento priznak. Ak ES:[BX] je nenulovy, program v pozadi (TSR alebo vynatie) nesmie pouzit ziadnu funkciu DOS. Rezidentne vyberove programy v RAM sa casto spustaju pomocou casovaca alebo prerusenim z klavesnice. Kedze sa to moze stat v IubovoInom ca- se, je mozne, ze sa to stane pocas vykonavania sluzby DOS. V pripade, ze vynatie skusa pouzit sluzby DOS, sposobi to vymazanie zasobnikovej pamati DOS a katastrofalnu nehodu rozmerov cernobyIskeho nestastia. strana: 59 Testovanim tohoto priznaku vynatie urcuje, kedy je mozne vykonavat vyvolania DOS bez potreby ochranneho stitu proti ziareniu. Avsak je to skopmlikovane skutocnostou, ze COMMAND.COM a niektore ine programy stravia vacsinu casu prijimanim vstupu z klavesnice pomocou funkcie 0aH DOS (Get String). Takto priznak navratu zaberie takmer cely cas a sluzby DOS su zakazane. Tomuto sa mozno vyhnut zachytenim INT 21H a vylucenim funkcie 0aH. Ak prejde poziadavka Get String, netreba ju vykonat hned. Namiesto toho treba vykonat slucku, ktora obsahuje oneskorenie po ktorom nasleduje vyvolanie funkcie 0bH(Get Input Status). Slucku treba drzat, az kym sa nestlaci klavesnica. Po jej stlaceni treba pokracovat s vyvolanim funkcie 0aH. Ale pred prvym stlacenim klavesnice bude existovat caso- ve okienko, v ktorom je mozne spustit vynatie (a pouzit DOS) bez obav o znicenie. Je mozne tiez zachytit INT 28H, je to vsak riskantne. Pozor: Kedze sa jedna o nedokumentovanu, je riskantne spoliehat sa na nu. Vacsina vynimajucich programov zachytava INT 21H a udrziava stopu stavu DOS individualne (kedze aj tak musia vylucit funkciu 0aH). Vid tiez: Funkcie riadenia procesu INT 08H DOS Fn 0aH Funkcie DOS DOS Fn 35H: Zistenie vektora prerusenia ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 35H ÀÄÄÄÄÄÄÄÄĶ AL º cislo prerusenia ( 00H az 0ffH ) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º ES:BX º adresa osetrujuceho programu prerusenia ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia hodnotu vektora prerusenia INT (AL); t.j. plni BX nulami: [AL*4] a tak isto ES nulami:[(AL*4)+2]. Pozor: Meni hodnotu v registri segmentu ES. Vid tiez: 25H Set INT Vector Funkcie DOS DOS Fn 36H: Zistenie voIneho priestoru na disku ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 36H ÀÄÄÄÄÄÄÄÄĶ DL º cislo jednotky (0=standard,1=A,atd.) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º 0ffffH ak AL je neplatne cislo jednotky ÀÄÄÄÄÄÄÄÄĶ º sektory na zhluk, ak nie je chyba º BX º dostupne zhluky º CX º bajty na sektor º DX º vsetky zhluky na disku ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia informaciu na vypocet totalneho a dostupneho diskoveho priestoru. Ak AX vracia 0ffffH, posiela sa chybne cislo jednotky do AL. Inac voIny priestor v bajtoch = (AX*BX*CX) totalny priestor v bajtoch = (AX*CX*DX) Vid tiez: 32H Disk Info 1bH Get FAT Info Funkcie DOS strana: 60 DOS Fn 37H: Nastavenie/dotaz prep. znakov ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 37H nedokumentovana ÀÄÄÄÄÄÄÄÄĶ AL º 0 dotaz na aktualny prepinaci znak º º 1 nastavenie prepinacieho znaku º DL º znak pre prepinace (ak AL=1) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º DL º prepinaci znak aktualneho DOS ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Nastavuje, alebo sa dotazuje na globalny prepinaci znak DOS. SWITCHAR je znak, ktory sa nachadza v prikazovom riadku a delimituje spustenie prepinaca alebo voIby.Standardne je '/' (napr. DIR /w/p), ale mozno zmenit prepinaci znak na '-' (napr. DIR -w-p), ak chceme zaviest konvenciu UNIX. Medzi bezne praktiky patri dotazovat sa na prepinacie znaky pred syntaktickou analyzou oblasti neformatovanych parametrov PSP pri voIbe programov. Pozor: Tento nedokumentovany prikaz sa v inych verziach DOS moze menit. Neodporuca sa menit prepinaci znak, pretoze mnoho programov ho nepo- uziva pri analyze prikazoveho riadku. Vid tiez: CONFIG.SYS Funkcie DOS DOS Fn 38H: Zistenie/nastavenie inf. o krajine ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 38H ÀÄÄÄÄÄÄÄÄĶ DX º 0ffffH nastavenie kodu aktualnej krajiny v AL (alebo BX) º DS:DX º adresa lokalnej vyrovnavacej pamati na prijatie º º bloku informacii o krajine º AL º 0 informacia o aktualnej krajine º º 1 az 0feH informacia o urcitej krajine < 225 º º 0ffH informacia o kode krajiny >= 225 º BX º (ak AL=0ffH) 16 bitovy kod krajiny ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny v CY ÀÄÄÄÄÄÄÄÄĶ BX º kod krajiny (ak AL=0 na vstupe) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Ak je DX=0ffffH, potom kod aktualnej krajiny sa zameni za obsah AL (alebo ak AL=0ffH, potom kod krajiny sa nastavi do BX). Kod krajiny je bezne nastaveny v subore CONFIG.SYS. Ak DX < 0ffffH, potom DS:DX ukazuje obsah vyvolavajucej vyrovnavacej pamati, ktora sa naplni 20 bajtov obsahom bloku informacie o krajine zvolenej krajiny. Poznamka: Vyvolavacia adresa CaseMap urcuje usporiadanie sekvencii pre znaky abecedy rozneho druhu Verzie: DOS 2.x neumoznuje nastavenie kodu krajiny.Jeho vyvolavacie parametre su jednoduchsie: ocakava: AL=0 DS:DX = adresa 20 bajtov lokalnej vyrovnavacej pamati vracia: plni pamat DS:DX blokom informacii o krajine DOS 2.x strana: 61 ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Kody krajin ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Hex Dec Krajina Keybrd Datum Cas Format platidla DS º º º ßßß ßßß ßßßßßßßßßßßßßßß ßßßßßß ßßßßßßßß ßßßßßßßßßßß ßßßßßßßßßßßßßßßß ß º º 3dH 061 Australia DD-MM-YY 13:00:00 $1,000.00 ; º º 20H 032 Belgicko DD/MM/YY 13:00:00 1 000,00 F ; º º 2dH 045 Dansko DD/MM/YY 13.00:00 1.000,00 DKR ; º º166H 358 Finsko DD-MM-YY 13:00:00 1 000,00 MK ; º º 21H 033 Francuzko keybFR DD/MM/YY 13:00:00 1 000,00 F ; º º 1fH 031 Holandsko DD-MM-YY 13:00:00 g1.000,00 ; º º3ccH 972 Izrael DD/MM/YY 13:00:00 o 1,000.00 , º º 2 002 Kanada YY-MM-DD 13:00:00 1 000,00 $ ; º º 2fH 047 Norsko DD/MM/YY 13.00.00 KR 1.000,00 ; º º 31H 049 NSR keybGR DD.MM.YY 13.00.00 DM1.000,00 ; º º15fH 351 Portugalsko DD/MM/YY 13:00:00 1.000$00 ; º º311H 785 Stredny Vychod DD/MM/YY 01:00:00 PM 1.000,000 $ ; º º 22H 034 Spanielsko keybSP DD/MM/YY 13:00:00 1.000,00 P ; º º 29H 041 Svajciarsko DD.MM.YY 13.00.00 Fr 1,000.00 , º º 2eH 046 Svedsko YY-MM-DD 13.00.00 SEK 1.000,00 ; º º 27H 039 Taliansko keybIT DD/MM/YY 13:00:00 1.000,Lit. ; º º 1 001 USA MM-DD-YY 01:00:00 PM $1,000.00 , º º 2cH 044 VeIka Britania keybUK DD-MM-YY 13:00:00 L1,000.00 , º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Vid tiez: CONFIG.SYS Funkcie DOS DOS Fn 39H: Vytvorenie noveho adresara--MKDIR ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 39H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ASCIIZ nazvu adresara ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastavene na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX udava retazec ASCIIZ vo forme: "d:\path\dirname",0. Ak sa vynecha jednotka a/alebo vychodzi tok, predpoklada sa stan- dardna hodnota. Vytvara sa a spaja sa podadresar do jestvujucej stromovej struktury. Ak je CF nastaveny v navrate, chybovy kod je v AX a adresar sa ne- vytvori. Vid tiez: Adresar a funkcie suboru Funkcie DOS DOS Fn 3aH: Zrusenie adresara--RMDIR ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 3aH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ASCIIZ nazvu adresara ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastavene na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 62 Popis: DS:DX udava retazec ASCIIZ vo forme: "d:\path\dirname",0. Ak sa vynecha jednotka a/alebo vychodzi tok, predpoklada sa stan- dardna hodnota. Podadresar sa odstrani zo struktury adresara. Ak je CF nastaveny v navrate, chybovy kod je v AX a adresar sa ne- zrusi. Poznamka: Adresar musi byt bez suborov, podadresarov a inych obmedzeni (bez 'Join' alebo 'Subst' DOS atd.). Vid tiez: Adresar a funkcie suboru Funkcie DOS DOS Fn 3bH:Nast. standard. adresara DOS--CHDIR ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 3bH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ASCIIZ nazvu adresara ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastavene na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX udava retazec ASCIIZ vo forme: "d:\path\dirname",0. Ak sa vynecha jednotka a/alebo vychodzi tok, predpoklada sa stan- dardna hodnota. Podadresar s nazvom pre jednotku s nazvom (ak jestvuje) sa stava standardnym adresarom DOS pre tuto jednotku (alebo standardnu jed- notku). Ak je CF nastaveny v navrate, chybovy kod je v AX a aktualny stan- dardny adresar pre vybranu jednotku sa nezmeni. Vid tiez: Adresar a funkcie suboru Funkcie DOS DOS Fn 3cH: Vytvorenie manipulatora suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 3cH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ASCIIZ specifikacie suboru º CX º vlastnosti suboru ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĺ º manipulator suboru, ak nie je chyba ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX ukazuje na retazec ASCIIZ vo forme: "d:\path\filespec",0. Ak je vynechana jednotka a/alebo cesta predpokladaju sa standardne hodnoty. - subor je vytvoreny vo vybranom (alebo standardnom) adresari - subor je otvoreny v mode pristupu citania/zapisu - je potrebne uchovat manipulacny subor pre dalsie pristupy a zatvorenia - ak subor uz existuje: - ak je otvoreny, jeho dlzka je nulova - ak jeho vlastnost suboru je iba pre citanie, otvorenie sa neusku- tocni (jeho vlastnost sa moze zmenit pomocou Fn 43H Change Attri- bute) strana: 63 - CONFIG.SYS urcuje, koIko manipulatorov je pristupnych. - Aby sa neprepisal existujuci subor (aby sa nevynuloval) je potrebne pouzit Fn 5bH Create New File. Vid tiez: V/V manipulatorovy subor V/V subor FCB Funkcie DOS DOS Fn 3dH: Otvorenie manipulatora suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 3dH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ASCIIZ specifikacie suboru º AL º mod otvorenia ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĺ º manipulator suboru, ak nie je chyba ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX udava retazec ASCIIZ vo forme: "d:\path\filespec",0. Ak je vynechana jednotka a/alebo cesta predpokladaju sa standardne hodnoty. - subor musi existovat. Vid Fn 3cH (Create File) - subor je otvoreny vo vybranom mode pristupu/mode otvorenia Kvoli kompatibilite DOS 2.x a bez pouzitia siete treba pouzit: AL = 0 otvorenie pre citanie AL = 1 otvorenie pre zapis AL = 2 otvorenie pre citanie a zapis - ukazovateI citania/zapisu je nastaveny na 0. Vid Fn 42H DOS (LSEEK) - je potrebne uchovat manipulator suboru pre nasledujuci pristup a za- tvorenie - musi byt zavedene rozdelenie suboru (programom DOS SHARE) pre otvore- nie niektorym sposobom rozdelenia - CONFIG.SYS urcuje, koIko manipulatorov je pristupnych. Vid tiez: V/V manipulatorovy subor V/V subor FCB Funkcie DOS DOS Fn 3eH: Uzavretie manipulatora suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 3eH ÀÄÄÄÄÄÄÄÄĶ BX º manipulator suboru ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: BX obsahuje manipulator suboru, ktory bol vrateny z otvorenej opera- cie. Subor reprezentovany tymto manipulatorom je zatvoreny, jeho vy- rovnavacie pamate su prazdne a adresar je aktualizovany spravnou veI- kostou, casom a datom. Kvoli nedostatku manipulatorov suboru (standardne je 8, max. je 20), je treba zatvorit jeden alebo viac standardnych manipulatorov, ako manipulator 3 (Standard AUX). Vid tiez: V/V manipulatorovy subor V/V subor FCB Funkcie DOS strana: 64 DOS Fn 3fH: Cit. zo suboru pomocou manipulatora ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 3fH ÀÄÄÄÄÄÄÄÄĶ BX º manipulator suboru º DS:DX º adresa vyrovnavacej pamate na prijem udajov º CX º pocet bajtov na citanie ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ AX º pocet bajtov, ktore boli skutocne citane ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Bajty udajov v CX su citane zo suboru alebo zariadenia s cislom mani- latora v BX. Udaj citany z aktualnej pozicie ukazovateIa citania/zapisu suboru je umiestneny do volajucej vyrovnavacej pamati znazorneny pomocou DS:DX. Ak je potrebne nastavit ukazovateI suboru pred volanim pouzije sa Fn 42H LSEEK (OPEN nastavi ukazovateI citania/zapisu na 0). Aktualizuje ukazovateI zapisu/citania suboru na nastavenie nasleduju- ceho sekvencneho citania alebo zapisu. Je potrebne vzdy porovnavat navratovu hodnotu v AX (pocet citanych bajtov) s CX (pocet pozadovanych bajtov): ak AX = CX, (a CF = NC) citanie prebehlo spravne ak AX = 0, dosiahol sa koniec suboru (EOF) ak AX < CX (ale nie 0): ak citanie ide zo zariadenia, vstupny riadok ma dlzku AX ak citanie ide zo suboru, cita az po EOF Poznamka: Nahradzuje zlozite a tazko pouziteIne funkcie FCB. Ucinne kombinuje nahodny a sekvencny pristup a umoznuje vlastne blokovanie udajov vo- lajuceho. Je vhodne pouzit tuto funkciu na citanie standardnych manipulatorov ako su standardne V/V, namiesto roznych vyrovnavacich vstupov alebo vstupov typu znak po znaku. Ak citanie prebieha zo zariadenia, AX vracia dlzku riadku vratane ukoncenia CR (ASCII 13H). Vid tiez: V/V manipulatorovy subor V/V subor FCB Funkcie DOS DOS Fn 40H:Zapis do suboru pomocou manipulatora ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 40H ÀÄÄÄÄÄÄÄÄĶ BX º manipulator suboru º DS:DX º adresa vyrovnavacej pamati obsahujuca zapisovane udaje º CX º pocet zapisovanych bajtov ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ AL º pocet skutocne zapisanych bajtov ÍÍÍÍ test urcenia chyb ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 65 Popis: Bajty udajov v CX su zapisane do suboru alebo na zariadenie s cislom manipulatora v BX. Udaj sa berie z vyrovnavacej pamati volajuceho, ktory je dany DS:DX. Udaj je zapisany do aktualnej pozicie ukazova- teIa citania/zapisu suboru. Ak je potrebne nastavit ukazovateI suboru pred volanim pouzije sa Fn 42H LSEEK (OPEN nastavi ukazovateI citania/zapisu na 0). Aktualizuje ukazovateI zapisu/citania suboru na nastavenie nasleduju- ceho sekvencneho citania alebo zapisu. Je potrebne vzdy porovnavat navratovu hodnotu v AX (pocet skutocne zapisanych bajtov) s CX (pozadovana veIkost zapisu): ak AX = CX, zapis bol uspesny ak AX < CX, vyskytla sa chyba (najpravdepodobnejsie plny disk) Poznamka: Nahradzuje zlozite a tazko pouziteIne funkcie FCB. Ucinne kombinuje nahodny a sekvencny pristup a umoznuje vlastne blokovanie udajov vo- lajuceho. Je vhodne pouzit tuto funkciu na zapis standardnych manipulatorov ako je standardny vystup, namiesto roznych vystupnych textovych funkcii. Vid tiez: V/V manipulatorovy subor V/V subor FCB Funkcie DOS DOS Fn 41H: Zrusenie suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 41H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ASCIIZ specifikacie suboru ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny do CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX udava retazec ASCIIZ vo forme "d:\path\filespec",0 Ak jednotka a/alebo cesta su vynechane, predpokladaju sa standardne hodnoty. Specifikacia suboru nesmie obsahovat pseudoznaky. Subor je zruseny z urcenej jednotky a adresara. Ak ma subor vlastnost suboru iba citanie, jeho vlastnost sa moze zmenit pomocou Fn 43H CHMOD a potom vymazat. Vid tiez: Adresar a funkcie suboru Funkcie DOS DOS Fn 42H: Nastavenie ukazovateIa suboru--LSEEK ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 42H ÀÄÄÄÄÄÄÄÄĶ BX º manipulator suboru º CX:DX º vzdialenost na posun ukazovateIa suboru: posun je º º (CX * 65536) + DX º AL º 0 posunutie ukazovateIa na zaciatok suboru + CX:DX º º 1 posunutie ukazovateIa na aktualnu poziciu + CX:DX º º 2 posunutie ukazovateIa na koniec suboru + CX:DX ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ DX:AX º nova pozicia ukazovateIa zapisu/citania suboru (ak nie je º º chyba ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 66 Popis: Posuva logicky ukazovateI zapisu/citania na urcenu adresu. Vsetky ci- tania a zapisy suboru zacinaju na novej adrese. Poznamka: Pri volani AL=2, CX=0, DX=0 sa dlzka suboru vracia do DX:AX. DX je najvyznamnejsie slovo -- skutocna dlzka je (DX * 65536) + AX. Vid tiez: V/V manipulatorovy subor V/V subor FCB Funkcie DOS DOS Fn 43H: Nastav./dotaz atributov suboru--CHMOD ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 43H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ASCIIZ specifikacie suboru º AL º kod SubFn: 0 = vyvolava aktualny atribut suboru º º 1 = nastavuje atribut suboru º CX º pouzity atribut (pre SubFn 01H) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ CX º aktualny atribut suboru (pre SubFn 00H) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX udava retazec ASCIIZ vo forme: "d:\path\filespec",0. Ak jednotka a/alebo cesta su vynechane, predpokladaju sa standardne hodnoty. Atributy suboru sa vyvolavaju alebo nastavuju podIa hodnoty v AL. Poznamka: Na ukrytie adresara treba pouzit CX=02H (nie 12H podIa ocakavania). Vid tiez: Adresar a funkcie suboru atribut suboru Funkcie DOS DOS Fn 44H: Riadenie V/V zariadenia--IOCTL ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 43H ÀÄÄÄÄÄÄÄÄĶ AL º kod SubFn: º º 00H= urcenie informacie o zariadeni º º 01H= nastavenie informacie o zariadeni º º 02H= citanie zo znakoveho zariadenia º º 03H= zapis na znakove zariadenie º º 04H= citanie zo zariadenia pracujuceho s blokmi º º 05H= zapis na zariadenie pracujuce s blokmi º º 06H= urcenie stavu vstupu º º 07H= urcenie stavu vystupu º º 08H= dotaz na vymeniteIne medium º º 09H= dotaz na lokalne/vzdialene zariadenie º º 0aH= dotaz na lokalny/vzdialeny manipulator º º 0bH= pocet opakovani rozdelenia º º 0cH= (rezervovane) º º 0dH= genericke IOCTL DOS 3.2+ º º 0eH= urcenie logickej jednotky 3.2+ º º 0fH= nastavenie logickej jednotky 3.2+ º º a ine (podIa SubFn) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ º alebo ina hodnota (podlIa SubFn) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: IOCTL vykonava metodu komunikacie so zariadeniami a ziskavanie infor- macii o suboroch. Vstupne parametre a vystupne hodnoty sa menia podIa kodu SubFn v registri AL. strana: 67 Verzie: SubFn 0-7 ..............DOS 2.1+ SubFn 8,0bH ............DOS 3.0+ SubFn 9,0aH ............DOS 3.1+ SubFn 0dH,0eH,0fH ......DOS 3.2+ Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 00H: Dotaz na priznaky informacie o zariadeni Ocakava: BX= manipulator suboru (subor zariadenia alebo disku) Vracia : DX= informacia o IOCTL zariadenia Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 01H: Nastavenie priznakov informacie o zariadeni Ocakava: BX= manipulator suboru (subor zariadenia alebo disku) DX= informacia o IOCTL zariadenia (DH musi byt 0) Vracia : DX= informacia o IOCTL zariadenia Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 02-03: Citanie (AL=02H) alebo Zapis (AL=03H) retazca IOCTL do znakoveho zariadenia Ocakava: DS:DX=> adresa vyrovnavacej pamati (citanie) alebo udaje (zapis) CX= pocet prenasanych bajtov BX= manipulator suboru (len subor zariadenia -- bez disko- veho suboru) Vracia : AX= chybovy kod, ak CF je nastaveny na CY Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 04-05: Citanie (AL=04H) alebo zapis (AL=05H) retazca IOCTL na zariadenie pracujuce s blokmi Ocakava: DS:DX=> adresa vyrovnavacej pamati (citanie) alebo udaje (zapis) CX= pocet prenasanych bajtov BL= jednotka ID (0=standard,1=A,atd.) Vracia : AX= chybovy kod, ak CF je nastaveny na CY AX= pocet skutocne prenasanych bajtov (ak CF=NC=0) Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 06-07: Urcenie stavu vstupu (AL=06H) alebo urcenie stavu vystupu (AL=07H) Ocakava: BX= manipulator suboru (subor zariadenia alebo disku) Vracia : AL= 0ffH= nie EOF; 0=EOF (pre manipulator disk.suboru) AL= 0ffH= pripraveny; 0=nepripraveny (pre zariadenia) Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 08H: Zistenie, ci zariadenie pracujuce s blokmi pouziva vymeniteIne me- dium. DOS 3.0+ Ocakava: BL= jednotka ID (0=standard,1=A,atd.) Vracia : AX=00H= medium je vymeniteIne (napr.jednotka floppy disku) 01H= nevymeniteIne (napr.pevny disk alebo disk RAM) 0fH chybovy kod, ak BL je neplatna jednotka Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü strana: 68 Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 09H: Zistenie, ci zariadenie je vzdialena jednotka v sieti. DOS 3.1+ Ocakava: BL= jednotka ID (0=standard,1=A,atd.) Vracia : DX= vlastnost zariadenia jednotky. Ak bit 12=1 (t.j. DX & 1000H = 1000H) jednotka je vzdialene zariadenie Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 0aH: Zistenie, ci manipulator suboru je pre lokalne alebo vzdialene za- riadenie v sieti. DOS 3.1+ Neodporuca sa pouzivat tuto SubFn. Miesto toho treba osetrit vzdialene jednotky takisto ako lokalne. Ocakava: BX= manipulator suboru (len subor zariadenia -- bez dis- koveho suboru) Vracia : DX= atribut drajvera jednotky. Ak bit 15=1, (t.j. DX & 8000H = 8000H) zariadenie je vzdialene Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 0bH: Opakovanie riadenia casovania na rozdeleni suboru a blokovanie DOS 3.0+ Ocakava: DX= opakuje predtym kriticku chybu INT 24H CX= pocet sluciek medzi opakovaniami Vracia : AX= chybovy kod, ak CF je nastavene na CY Poznamka:Standardne su 3 opakovania a pocet sluciek 1 (minimalne oneskorenie) Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 0dH: Genericky IOCTL pouzivany pre mnozstvo funkcii riadenia zariadenia. Pocnuc DOS 3.2, riadiace programy zariadeni mozu byt zapisovane, co prevadza formatovanie stop a operacie citanie/zapis stop. DOS 3.2+ Kod cinnosti (SubSubFn ?) v CL urcuje subfunkciu: Ocakava: CL= kod cinnosti 40H = nastavenie parametrov zariadenia 60H = urcenie parametrov zariadenia 41H = zapis stopy na logicke zariadenie 61H = citanie stopy logickeho zariadenia 42H = formatovanie a verifikacia stopy logickeho zar. 62H = verifikacia stopy logickeho zariadenia DS:DX=> adresa paketu udajov IOCTL. Vid: Genericke IOCTL 40H/60H Genericke IOCTL 41H/61H Genericke IOCTL 42H/62H strukturu paketu udajov pre specificke kody cinnosti. Vracia : AX= chybovy kod, ak CF je nastavene na CY DS:DX=> paket udajov obsahuje navratovu informaciu. Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 0eH: Zistenie, ci riadiaci program zariadenia ma viac, nez jedno logicke zariadenie pre jednu fyzicku jednotku. DOS 3.2+ Ocakava: BL= jednotka ID (0= standard,1=A,atd.) strana: 69 Vracia : AX= chybovy kod, ak CF je nastavene na CY AL= 0 ak co len jedno pismeno jednotky je pridelene jed- notke BL AL= (1=A,2=B,atd.) podporovane su logicke jednotky a AL ma priradenu aktualnu jednotku ID do tejto jednotky. Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü SubFn 0fH: Urcuje riadiacemu programu zariadenia pracujuceho s blokmi, ktora jednotka ID ma byt osetrena. Sprava DOS " Vloz disketu do jednotky X:... " sa zobrazi, ak fyzic- ka jednotka je zdruzena s dvomi alebo viacerymi logickymi jednotka- mi. Tato funkcia umoznuje oznamit DOS, ze disketa zvolenej jednot- ky ID je uz na mieste, pricom obisla spravu. DOS 3.2+ Ocakava: BL= jednotka ID (0= standard,1=A,atd.) Vracia : AX= chybovy kod, ak CF je nastavene na CY AL= 0 ak co len jedna jednotka ID je pridelena jed- notke BL AL= (1=A,2=B,atd.) zvolena jednotka ID, ktora bude pouzita v nasledujucom vstupe do jednotky alebo vystupe z nej. Poznamka: Toto volanie by malo byt vykonane pred akymkoIvek vstu- pom alebo vystupom logickej jednotky. V opacnom pripade DOS zobrazi spravu. Vid tiez:informacia o IOCTL zariadenia Drajvery zariadenia Funkcie DOS DOS Fn 45H: Kopirovanie manipulatora suboru--DUP ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 45H ÀÄÄÄÄÄÄÄÄĶ BX º jestvujuci manipulator suboru ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º novy manipulator suboru, ktory kopiruje original ÀÄÄÄÄÄÄÄÄĶ º chybovy kod, ak CF je nastaveny na CY ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vytvara pridavny manipulator suboru vztahujuci sa k tomu istemu vstupno-vystupnemu toku ako jestvujuci manipulator suboru. AkykoIvek pohyb ukazovateIa suboru citanie/zapis pre jeden manipulator bude sa tykat kopirovaneho--vratane citania zapisu alebo presunu su- boru pomocou Fn 42H LSEEK. Novy manipulator prebera obmedzenia modu otvorenia originalu. Tato funkcia ma jedno hlavne pouzitie: Mozno nou zatvorit kopirovany manipulator vymazanim vyrovnavacich pamati suborov pouzitim DOS. Tato sekvencia DUP/CLOSE je rychlejsia, nez zatvorenie a znovuotvo- renie diskoveho suboru. Vid tiez: V/V manipulatorovy subor Standardny V/V Funkcie DOS DOS Fn 46H: Presmerovanie manipulatora--FORCDUP ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 46H ÀÄÄÄÄÄÄÄÄĶ BX º cieIovy manipulator suboru (musi uz existovat) º CX º zdrojovy manipulator suboru (musi uz existovat) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 70 Popis: Nuti manipulator suboru odkazovat sa na iny subor alebo zariadenie. Manipulator suboru v CX (zdrojovy) sa zatvori ( ak je prave otvo- reny) a potom sa z neho stava kopia manipulatora v BX (cieIovy). Inymi slovami aj CX aj BX sa vztahuju k tomu istemu fyzickemu suboru alebo zariadeniu. Vsetky pristupy z manipulatora CX vchadzaju do BX alebo z neho vychadzaju. Tato funkcia sa pouziva na presmerovanie standardneho V/V. Napr.: Otvorenie suboru " C:\STDOUT.TXT " pomocou Fn 3dH Open File a urcenie manipulatora (napr. 05). Nastavenie BX=05, CX=01 a volanie tejto funkcie. (Poznamka: mani- pulator 01 je predefinovany manipulator " standardneho vystupneho zariadenia ") PodIa zelania mozno pouzit na zatvorenie manipulatora 05 Fn 3eH Close File. Pouzitim manipulatora 01 mozno urobit odkaz na subor STDOUT.TXT. Teda diskovy subor " C:\STDOUT.TXT " prijme kazdy vystup IubovoI- nych vystupov spracovania (aktualne spracovanie a/alebo akykoI- vek jeho zarodok) pomocou funkcie V/V znak DOS tak ako aj IubovoIny zapis do manipulatora suboru 01 pomocou Fn 40H DOS. Ak sa realizuje vystup do COMMAND.COM predefinovane manipulatory suborov su znovu nastavene na normalne zariadenia (manipulator 01 je znovu nastaveny na "CON"). Vid tiez: V/V manipulatorovy subor Standardny V/V Funkcie DOS DOS Fn 47H: Urcenie standardneho adresara DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 47H ÀÄÄÄÄÄÄÄÄĶ DS:SI º adresa lokalnej vyrovnavacej pamati na uchovanie nazvu º º cesty (64 bajtov) º DL º cislo jednotky (0=standard, 1=A, atd.) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vyrovnavacia pamat pouzivateIa je naplnena od DS:SI obsahom nazvu cesty ASCIIZ aktualneho standardneho adresara pre jednotku urcenu pomocou DL. Nazov cesty sa vracia v tvare: "path\dirname",0. Neexistuje zavadza- cie pismeno jednotky ani zavadzaci alebo koncovy backslash; napr., ak aktualny standardny adresar ma stromovu strukturu, jedine co mozno ziskat je nulovy retazec (DS:[SI] = 0). Vid tiez: Adresar a funkcie suboru Funkcie DOS strana: 71 DOS Fn 48H: Priradenie pamati (urcenie mem size) ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 48H ÀÄÄÄÄÄÄÄÄĶ BX º pozadovane mnozstvo pamati v odstavcoch (16 bajtove celky) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastavene na CY ÀÄÄÄÄÄÄÄÄĶ BX º veIkost dostupnej pamati v odstavcoch (ak pridelenie zlyha) º AX º adresa segmentu prideleneho bloku (ak nie je chyba) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: PrideIuje blok pamati BX s dlzkou jedneho odstavca a vracia adresu segmentu bloku do AX (blok zacina na AX:0000). Ak pridelenie zlyha, je nastaveny priznak prenosu, chybovy kod sa vracia do AX a BX obsahuje maximalnu moznu veIkost (v odstavcoch) pre pridelenie. Na urcenie najvacsieho dostupneho bloku sa bezne pouziva nastavenie BX=0ffffH pred volanim. Pridelenie zlyha a do BX sa vrati veIkost pridelenia. Poznamka: Ak spracovanie prijima riadenie pomocou Fn 4bH EXEC cela dostupna pamat mu uz bola pridelena. Vid tiez: Funkcie riadenia pamati Riadiaci blok pamati Funkcie DOS DOS Fn 49H: Blok voIneho miesta v pamati ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 49H ÀÄÄÄÄÄÄÄÄĶ ES º adresa segmentu (odstavec) pridelenej pamati na uvoInenie ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: UvoInuje blok pamati pocnuc ES:0000. Tento blok bude dostupny pre ine zdroje systemu. Vseobecne mozno uvoInit jedine tie bloky pamati, ktore boli vytvorene pomocou funkcie 48H Mem Alloc. Pre podriadene procesy su za uvoInova- nie pamati zodpovedne nadriadene procesy, avsak nic nemoze zabranit uvoInovaniu pamati, ktora patri inemu procesu. Vid tiez: Funkcie riadenia pamati Riadiaci blok pamati Funkcie DOS DOS Fn 4aH: Zhustenie/rozsir. pamatoveho bloku ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 4aH ÀÄÄÄÄÄÄÄÄĶ ES º segment prideleneho pamatoveho bloku º BX º pozadovana veIkost bloku; v odstavcoch (16 bajtove celky) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ BX º najvacsi mozny blok (ak zlyha poziadavka "rozsirenie") ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Meni veIkost existujuceho pamatoveho bloku. Ak program prijima riadenie, funkcia 4bH EXEC prideli pamatovy blok, pocinajuc PSP, ktory obsahuje celu dostupnu pamat. Na uvoInenie pa- mati pre podriadeny proces, pamatovy blok, pocinajuc PSP, musi byt najprv zhusteny. strana: 72 Poznamka: Fn 31H0 DOS (KEEP) a INT 27H (TSR) zhustuju blok od PSP. Vid tiez: Funkcie riadenia pamati Riadiaci blok pamati Funkcie DOS DOS Fn 4bH: Prevedenie/zavedenie programu--EXEC ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 4bH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa specifikacie suboru ASCIIZ programu na zavedenie º º alebo prevedenie º ES:BX º adresa EPB (blok parametrov EXEC) º AL º 0 = zavedenie a prevedenie º º 3 = zavedenie programoveho segmentovania ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Poskytuje prostriedky pre program (nadriadeny) na prevedenie ineho programu (podriadeny), ktory sa po vystupe vracia do nadriadeneho. DS:DX udava retazec ASCIIZ vo forme: " d:\path\filespec ",0 Ak sa jednotka alebo cesta vynecha predpokladaju sa standardne hodno- ty. ES:BX udava ku bloku pamati, ktory bol pripraveny ako EPB a ktoreho format zavisi na pozadovanej subfunkcii v AL. AL=0 EXEC:Pretoze nadriadeny program povodne prijima celu dostupnu pamat pre svoje vlastne spracovanie, je potrebne uvoInit urcitu cast pamati pomocou Fn 4aH pred prevedenim EXEC (AL=0). Bezny postup je: 1. Volanie Fn 4aH s ES=segment PSP a BX=minimalne mnozstvo pamati, ktoru vyzaduje program. 2. Pripravit retazec ASCIIZ programoveho suboru do EXEC a nastavit DS:DX tak, aby ukazoval jeho prvy znak. 3. Pripravit blok parametrov EXEC obsahujuci vsetky pozadovane polia. 4. Uchovat aktualne hodnoty SS, SP, DS, ES a DTA v premennych, ktore su relativne k CS (CS je jedine miesto, po ktorom sa EXEC vracia z podriadeneho procesu). 5. Vydat volanie EXEC z AL=0. 6. Znovu uchovat SS a SP do lokalnych hodnot. 7. Kontrolovat CF (priznak prenosu), ci EXEC neskoncil s chybou. 8. Znovu uchovat DS,ES a lokalne DTA ak je to nutne. 9. Kontrolovat kod vystupu pomocou Fn 4dH WAIT (ak sa vyzaduje). Vsetky otvorene subory su skopirovane tak, ze podriadeny proces spra- covava udaje pomocou manipulatora suboru a/alebo pouziva Standardny V/V pre vstup alebo vystup. Mod pristupu manipulatora je skopirovany, ale ak IubovoIny subor blokuje, nebude patrit podriadenemu procesu. Vid Fn 5cH. Po navrate z podriadeneho procesu vektory INT 22H Terminate, INT 23H Ctrl-Break a INT 24H Critical Error su znovu uchovane do ich predchadzajucich hodnot. strana: 73 AL=3 LOAD:Tato subfunkcia sa pouziva na zavadzanie programoveho segmentovania. DS:DX udava do specifikacie suboru ASCIIZ a ES:BX udava do verzie LOAD bloku parametrov EXEC. Hlavna prednost tejto SubFn je, ze cita zahlavie EXE a vykonava nutne premiestnenie segmentov vyzadovane EXE programami. Poznamka: Tato funkcia pouziva rozdelenie zavadzacieho programu COMMAND.COM, ktory je prechodnym v DOS 2.x (program ho moze mat prepisany). Takto moze toto volanie zlyhat, ak DOS neumiestni subor COMMAND.COM. Je po- trebne sa presvedcit, ci COMSPEC= v prostriedkoch je platny pred vo- lanim. Skor nez syntakticku analyzu, je treba zistit vhodnost vlastneho FCBS (ak je potrebny pre EPB) na zavedenie a vykonanie druhotnej kopie COMMAND.COM pouzitim vyberu /C. Napriklad na vykonanie programu FORMAT.COM je potrebne nastavit DS:DX na adresu retazca ASCIIZ: "\command.com",0 a nastavit EPB+2 do segmentu a posun prikazoveho riadku: 0eH,"/c format a:/s/4",0dH Tento druhotny prikazovy interpreter pouziva veImi male mnozstvo pa- mati (asi 4 kB). Mozno hIadat prostriedky DOS pre retazec COMSPEC= na zistenie jednotky a cesty COMMAND.COM. Vid tiez: Funkcie riadenia procesu Start a ukoncenie programu Funkcie DOS DOS Fn 4cH: Ukoncenie programu--EXIT ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 4cH ÀÄÄÄÄÄÄÄÄĶ AL º kod vystupu ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º nic º (nepouziteIny) ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia riadenie podriadeneho procesu nadriadenemu, nastavuje hodnotu vystupneho kodu, ktory moze byt zisteny DOS Fn 4dH WAIT. Riadenie prebieha po ukoncovaciu adresu PSP vyvolaneho programu. Ctrl-Break a vektory osetrenia kritickej chyby su zapamatane na ad- resach z nadriadeneho PSP. Poznamka: ERRORLEVEL (hodnota urovne chyby pouzivana v suboroch DOS beziacich v pozadi) moze sa pouzit ako vystupny kod posledneho programu. Vid tiez: Funkcie riadenia procesu Start a ukoncenie programu Funkcie DOS DOS Fn 4dH: Zistenie vystup.kodu programu--WAIT ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 4dH ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º kod vystupu posledneho ukonceneho procesu ÀÄÄÄÄÄÄÄÄĶ AH º 0 = normalne ukoncenie º º 1 = ukoncenie pomocou Ctrl-Break INT 23H º º 2 = ukoncenie osetrovacim programom kritickych chyb zaria- º º deni INT 24H º º 3 = ukoncenie pomocou Fn 31H KEEP ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 74 Popis: Vracia kody vystupu posledne ukonceneho procesu. Tato funkcia vracia platne informacie len raz pre kazdy ukonceny pro- ces. Vid tiez: Funkcie riadenia procesu Start a ukoncenie programu Funkcie DOS DOS Fn 4eH: Najdenie prveho suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 4eH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa specifikacie hIadaneho suboru ASCIIZ (* a ? su dovo- º º lene) º CX º atribut suboru pre porovnanie ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ DTA º je zaplnene udajmi (ak nie je chyba) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX ukazuje na ASCIIZ retazec v tvare: "d:\path\filespec",0. Ak zariadenie a/alebo cesta su vynechane, pouziju sa standardne hodnoty. Znaky * a ? su dovolene v mene suboru a rozsireni. DOS najde nazov prveho suboru na zariadeni a adresar, ktory vyhIada specificky subor a atributy, a umiestni nazvy a dalsie informacie v DTA ako je uvedene dalej: DTA Posunutie VeIkost Obsah DTA ÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄ Ä Ä Ä ÄÄÄ¿ +0 15H ³rezervovane ³ sa pouziva pri volani dielcich operacii ³ ³ Fn 4fH najdenie nasledujuceho ÃÄÄÄÅ Ä Á Ä ÁÄÄÙ +15H 1 ³atr³ atributy suboru, ktory bol najdeny ÃÄÄÄÁÄÄÄ¿ +16H 2 ³cas ³ cas vytvarany/modifikovany vo formate ³ ³ subor casu filetime ÃÄÄÄÁÄÄÄ´ +18H 2 ³datum ³ datum vytvarany/modifikovany vo formate ³ ³ subor casu filetime ÃÄÄÄÁÄÄÄÅÄÄÄÄÄÄÄ¿ +1aH 4 ³dolny horny ³ veIkost suboru DWORD v bajtoch ÃÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄ¿ +1eH 0dH ³ ³ 13 bajtova specifikacia suboru ASCIIZ: ³ ³ "filename.ext",0 ³ ³ (nevyplnene medzery; prikl.DOIT.BAT ) ÀÄÄÄÁ Ä Á Ä ÁÄÄÄÁÄÄÄÙ 2cH pozaduje veIkost vyrovnavacej pamati ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ Poznamka: Atribut suboru sa obycajne pouziva vyhIadavani. Ak chcete prezriet adresar ako aj nazvy suborov, ma sa nastavit atributovy bit 4 (attr 10H). Pre uplnu informaciu pozri atributy suborov. strana: 75 Typicka postupnost najdenia prvych suborov v adresari: pouzije sa Fn 1aH k nastaveniu DTA na lokalnu vyrovnavaciu pamat (alebo sa pouzije standardny DTA v PSP posunutie 80H) nastavi sa CX=atribut, DS:DX => ASCIIZ specifikacia suboru zaria- denie, cesta, znak vyvolanie Fn 4eH (najdi prvy) ak CF indikuje chybu, skoncili ste (bez vyhIadania) nastavi sa DS:DX => DTA (alebo do udajov, ktore ste skopirovali z DTA po pouziti Fn 4eH) opakovanie pokracovat specifikaciu suboru a udajov v DS:DX vyvolat Fn 4fH (najdi nasledujuci) kym hlasenie chyby neskonci vyhIadavanie (je nastaveny priznak pre- nosu) Vid tiez: Adresar a funkcie suboru Funkcie DOS DOS Fn 4fH: Najdenie nasledujuceho suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 4fH ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa informacie z predchadzajuceho Fn 4eH najdenie prve- º º ho suboru ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ DTA º je naplnene udajmi ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX ukazuje na 2bH-bajtovu vyrovnavaciu pamat, obsahujucu informacie z Fn 4eH najdi prvy (bud DTA alebo vyrovnavacia pamat kopirovana z DTA). Pouzivat po volani Fn 4eH. Meno nasledujuceho vyhIadavaneho suboru vybraneho znakmi (* a ?) atributy suboru a atributami suboru sa sko- piruje do vyrovnavacej pamati na DS:DX, spolu s dalsimi informaciami (vid. Fn 4eH pre ulozenie vyrovnavacej pamati informacii suboru naplnenej DOS). Vid tiez: Adresar a funkcie suborov Funkcie DOS DOS Fn 54H:Zistenie verifikacneho prepinaca DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 54H ÀÄÄÄÄÄÄÄÄĶ º ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AL º 0 ak verifikacia je vypnuta ÀÄÄÄÄÄÄÄÄĶ º 1 ak verifikacia je zapnuta ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Vracia status verifikacie zapisu na sktualny disk DOS. Ak vracia obsah AL ako 1, potom DOS cita kazdy sektor, ktory bol zapi- sany a overuje, ci udaje boli zapisane spravne. Funkcia DOS 2eH vam umoznuje nastavit/zrusit verifikacny mod. Vid tiez: Funkcie informacii o systeme Funkcie DOS strana: 76 DOS Fn 56H: Premenovanie/presun suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 56H ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa stareho nazvu ASCIIZ (specifikacia existujuceho su- º º boru) º ES:DI º adresa noveho nazvu ASCIIZ (nova cesta\specifikacia suboru) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastavene na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX a ES:DI ukazuje na retazec ASCIIZ: "d:\cesta\specifikacia suboru",0 Specifikacia stareho mena suboru DS:DX musi existovat a nesmie obsa- hovat znaky (* a ?), zariadenie a cesta su voliteIne (priradia sa standardne hodnoty). Retazec noveho nazvu ES:DI nemusi existovat. Ak je pouzity identifika- tor zariadenia ID, potom musi ho najst v nazve stareho suboru. Ak za- riadenie alebo cesta su vynechane, priradia sa standardne aktualne hodnoty. Ak nazov stareho a noveho suboru obsahuje rozdielne cesty (explicitne alebo standardne priradene), potom vstupny subor sa presunie do adre- sara pomenovaneho v novom nazve. Poznamka: Ak identifikator zariadenia ID stareho nazvu suboru nie je standardne aktualne zariadenie DOS, nezabudnite zabezpecit rovnaky identifikator zariadenia ID v novom nazve suboru. Vid tiez: Adresar a funkcie suborov Funkcie DOS DOS Fn 57H: Nastav./dotazovaci subor cas/datum ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 57H ÀÄÄÄÄÄÄÄÄĶ AL º 0 dotaz na cas/datum suboru º º 1 nastavenie cas/datum suboru º BX º manipulator suboru º CX º (ak AL=1) novy cas je vo formate casu/datumu suboru º DX º (ak AL=1) novy datum je vo formate casu/datumu suboru ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastavene na CY ³ º CX º cas suboru vo formate casu/datumu suboru ³ º DX º datum suboru vo formate casu/datumu suboru ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: BX je nastaveny na manipulator otvoreneho suboru (Fn 3cH alebo 3dH). Vyber subfunkcie v AL registri (0 alebo 1). DX a CX su v pamatovom formate; napr. 8 nizsich bitov datumu je v DH. Vid tiez: Adresar a funkcie suborov Funkcie DOS strana: 77 DOS Fn 59H: Zistenie rozsirenej inform. o chybe ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 59H DOS 3.0+ ÀÄÄÄÄÄÄÄÄĶ BX º 0000H (cislo verzie: 0000H pre DOS 3.0,3.1 a 3.2) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º rozsireny chybovy kod (0 ak sa nevyskytla chyba) ÀÄÄÄÄÄÄÄÄĶ BH º trieda chyby º BL º predpokladana cinnost º CH º miesto (kde sa chyba vyskytla) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Tato funkcia sa pouzije na nactrnutie, co urobit po zlyhani funkcie DOS v pripade vyskytu chyby DOS 3.0+. Mozete ju pouzit: v osetrovacom programe kritickej chyby INT 24H po kazdej funkcii DOS INT 21H, ktora signalizuje chybu pomocou CF po funkciach typu FCB, ktore vracaju AL=0ffH znaciace chybu Pre uplny zoznam moznych chybovych kodov, tried, predpokladanych cin- nosti a miest, ktore mozu byt vratene touto funkciou, pozri chybove kody DOS. Verzie: Tato funkcia nie je pouziteIna u nizsej verzie, ako DOS 3.00. U ver- zie DOS 2.x, kde CF indikuje chybu, je potrebne pouzit vlastnu progra- movu logiku na rozhodnutie, ako pokracovat dalej. U verzie DOS 3.0+ ak funkcia vracia CF=1 doporucujeme ignorovat vrateny chybovy kod v AX a previest cinnost predpokladanu v BL. Vid tiez: Funkcie informacii o systeme Chybove kody DOS Funkcie DOS DOS Fn 5aH: Vytvorenie specif. docasneho suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 5aH DOS 3.0+ ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa zariadenia a cesty ASCIIZ (ukoncena \) º CX º atribut suboru ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod ak CF je nastavene na CY ÀÄÄÄÄÄÄÄÄĶ DS:DX º (nezmene) stava sa uplnou specifikaciou noveho suboru ASCIIZ ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Otvara (vytvara) subor so specifickym nazvom v adresari pomenovanom specifikaciou cesty ASCIIZ indikovanou pomocou DS:DX. COMMAND.COM pouziva tuto funkciu na vytvorenie docasneho "zretazeneho" suboru pouziteho na presmerovanie V/V. Specifikacia cesty musi byt pripravena k prevzatiu mena suboru na jej konci. Je nutne zabezpecit aspon 12 bajtov na konci retazca a musi byt vo forme: "d:\cesta\",0 (specifikuje zariadenia a cestu) alebo "d:",0 (standardny adresar jednotky) alebo "d:\",0 (stromova struktura adresara jednotky) alebo "",0 (standardna jednotka adresara) Po navrate ma retazec od DS:DX pripojeny nazov suboru. Poznamka: DOS vytvara nazov suboru z hexa cislic, ktore ziska z aktualneho sys- temu datum/cas. Ak nazov suboru uz existuje, DOS skusa nove nazvy az pokiaI subor nie je vytvoreny. strana: 78 Vytvorene subory v skutocnosti nie su docasne a musia byt vymazane pomocou Fn 41H pokiaI nechceme blokovat adresare. Verzie: Prvy pomocou DOS 3.0 Vid tiez: V/V manipulatorovy subor Funkcie DOS DOS Fn 5bH: Vytvorenie noveho suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 5bH DOS 3.0+ ÀÄÄÄÄÄÄÄÄĶ DS:DX º adresa retazca ASCIIZ obsahujuceho specifikaciu suboru º CX º atribut suboru ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ º manipulator suboru ak sa nevyskytuje chyba ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: DS:DX udava retazec ASCIIZ v tvare: "d\path\filespec",0. Ak jednotka a/alebo cesta su vynechane, predpokladaju sa standardne hodnoty. Toto volanie je identicke s Fn 3cH DOS CREATE okrem pripadu zlyhania, ak subor uz existuje na urcenom zariadeni a adresari. Subor je otvoreny pre zapis/citanie v kompatibilnom mode pristupu. Vid tiez: V/V manipulatorovy subor Funkcie DOS DOS Fn 5cH: Blokovanie/odblok. pristupu k suboru ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 5cH DOS 3.0+ ÀÄÄÄÄÄÄÄÄĶ AL º SubFn: 0 = blokovanie oblasti suboru º º 1 = odblokovanie blokovanej oblasti º BX º manipulator suboru º CX:DX º posun suboru ((CX * 65536 ) + DX) od spustenia suboru º SI:DI º dlzka blokovanej oblasti ((SI * 65536) + DI) v bajtoch ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny na CY ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Blokuje alebo odblokuje pristup k oblasti suboru identifikovaneho pomocou manipulatora suboru v BX. Oblast suboru, ktora zacina posu- nom logickeho suboru CX:DX rozsirujuca dlzku SI:DI je blokovana alebo odblokovana. Parameter posunu aj dlzky sa vyzaduju. Rozdelenie suboru MUSl byt instalovane (pomocou prikazu DOS SHARE), alebo volanie vracia chybovy kod "neplatneho cisla funkcie." Blokovanie sa pouziva iba pri citani, zapise a otvoreni suboru pod- riadenym alebo paralelne beziacim procesom. Ak sa iny proces pokusa o takyto pristup (a mod pristupu definovany pocas otvorenia suboru OPEN je modom rozdelenia, ktory nedovoIuje takyto pristup), potom DOS ukonci operaciu pomocou INT 24H manipulatora kritickej chyby po troch opakovaniach. DOS zobrazi spravu "Abort, Retry, Ignore". Odporucana cinnost nie je pokusat sa citat a cakat na chybu. Namiesto toho skusit blokovat oblast a zaoberat sa vyslednym kodom navratu. Toto umoznuje vyhnut sa relativne nestabilnemu stavu DOS, ktory sa ob- javi pocas vykonavania manipulatora kritickej chyby. strana: 79 Blokovanie LOCK po konci suboru nie je chybou. Mozno blokovat cely subor nastavenim CX=0, DX=0, SI=0ffffH, DI=0ffffH a AL=0. Pri odblokovani UNLOCK posun a dlzka sa musia porovnat presne s tym posunom a dlzkou, ktore boli blokovane. Poznamka: Kopirovanie DUP manipulatora suboru pomocou Fn 45H alebo 46H skopiru- je IubovoIne blokovanie. Aj ked pocas otvorenia OPEN sa pouziva sprievodny mod pristupu, blokovaci mechanizmus nedava ziadne vyhody pristupu podriadenemu procesu, vytvorenemu pomocou 4bH EXEC (tento je osetrovany ako oddeleny proces). Je dolezite, aby kazde blokovanie bolo zo suboru odstranene pred ukoncenim programu. Zvlastnu pozornost si vyzaduje, ak blokovane subory su prerusene INT 23H (vystup Ctrl-Break) a INT 24H (vystup z kritickej chyby) zrusi blokovanie suboru pred skutocnym ukoncenim programu. Odporuca sa odblokovat co mozno najskor po blokovani. Vzdy blokovat, pristupit k suboru a odblokovat v ramci jednej operacie. Verzie: Prvy pomocou DOS 3.0. Vid tiez: Adresar a funkcie suboru 3dH (OPEN) Funkcie DOS DOS Fn 5eH: Rozne informacie o sieti ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 5eH DOS 3.1+ ÀÄÄÄÄÄÄÄÄĶ AL º SubFn: 0=urcenie nazvu zariadenia (uzlu, ako ho pozna siet) º º 2=nastavenie nastavovacieho retazca tlaciarne siete º º 3=vyvolanie nastavovacieho retazca tlaciarne siete º iny º (ako je to popisane podIa SubFn) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod ak CF je nastavene na CY ÀÄÄÄÄÄÄÄÄĶ iny º (ako je to popisane podIa SubFn) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Tieto funkcie su dostupne, ak je zavedeny Program siete IBM PC. Verzie: Prvy pomocou DOS 3.1. ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß SubFn 00H:Vyvolava nazov zariadenia (uzla) ako ho pozna siet. Ocakava: DS:DX=> vyrovnavaciu pamat pouzivateIa na uchovanie retazca nazvu siete ASCIIZ Vracia: DS:DX=> vyrovnavaciu pamat, ktora uchovava nazov siete CH= 0= nazov nedefinovy; ine=nazov definovany CL= cislo nazvu NETBIOS (ak CH je nenulove) AX= chybovy kod, ak CF je nastaveny na CY Poznamka: Nazov siete je 15-znakovy retazec ASCIIZ vratane medzier. ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß strana: 80 ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß SubFn 02H:Urcuje nastavovaci retazec, ktory ma byt vyslany do tlaciarne, kedy- koIvek toto zariadenie tlaci na tlaciaren siete. Ocakava:DS:SI=> vyrovnavaciu pamat pouzivateIa, ktora uchovava nasta- vovaci retazec (az do 64 znakov) CX= dlzka nastavovacieho retazca BX= zoznam presmerovania identifikujuci tlaciaren Vracia: AX= chybovy kod, ak CF je nastaveny na CY Poznamka: Vid Fn 5fH SubFn 02H metody na identifikaciu indexu tla- ciarne. ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß SubFn 03H:Vyvolava nastavovaci retazec tlaciarne dany pri predchadzajucom pou- ti Fn 5eH SubFn 02H DOS. Ocakava:DS:DI=> 64-bajtova vyrovnavacia pamat pouzivateIa na uchovanie nastavovacieho retazca BX= zoznam presmerovania identifikujuci tlaciaren Vracia: ES:DI=> vyrovnavacia pamat je naplnena obsahom nastavovacieho retazca CX= dlzka nastavovacieho retazca AX= chybovy kod, ak CF je nastaveny na CY Poznamka: Pretoze zoznam presmerovania (aky ma byt v BX) sa hocikedy moze zmenit, na ziskanie zoznamu je potrebne pouzit funkciu Fn 5fH SubFn 02H DOS priamo pred vyvolanim tejto funkcie. ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß Vid tiez: 5fH presmerovania zariadenia siete Funkcie DOS DOS Fn 5fH: Presmerovanie zariadenia siete ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 5fH DOS 3.1+ ÀÄÄÄÄÄÄÄÄĶ AL º SubFn: 2=urcenie vstupu zoznamu presmerovania zariadenia º º 3=presmerovanie zariadenia siete º º 4=zrusenie presmerovania zariadenia siete º iny º (ako je popisane podIa SubFn) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak CF je nastaveny v CY ÀÄÄÄÄÄÄÄÄĶ iny º (ako je popisane podIa SubFn) ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Tieto funkcie su dostupne ak je zavedeny Program siete IBM PC. Verzie: Prvy pomocou DOS 3.1 ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß SubFn 02H: VyhIadava jeden element zoznamu presmerovania siete. Ocakava: DS:DI=> 128-bajtovy nazov lokalneho zariadenia ASCIIZ (napr. "LPT1",0) ES:DI=> 128-bajtova vyrovnavacia pamat s obsahom nazvu siete ASCIIZ BX= zoznam presmerovania Vracia: DS:DI=> nazov lokalneho zariadenia ASCIIZ (napr."LPT1",0) ES:DI=> nazov siete ASCIIZ BL= typ zariadenia:03=tlaciaren; 04=subor 'zariadenie' BH= status zariadenia: bit 0=1 zariadenie neplatne; 0=platne CX= uchovany parameter (pomocou NETBIOS, vzdy nula) AX= chybovy kod, ak CF je nastaveny na CY strana: 81 DX,BP (znicene) Poznamka:Bezne sa bude volat pomocou BX=0, potom sa bude opakovat volanie s narastajucou hodnotou BX, pokiaI DOS vrati chy- bu 12H (nie je viac suborov). ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß SubFn 03H: Toto volanie urcuje nazov adresara siete a presmeruje pristup do tlaciarni siete. Poznamka: pristup k tlaciarni je presmerovany v ROM-BIOS uroven INT 17H. Ocakava: DS:SI=> nazov zdrojoveho zariadenia ASCIIZ ES:DI=> cieIove ASCIIZ (cesta sietou pomocou hesla) BL= typ zariadenia:03=tlaciaren; 04=subor 'zariadenie' CX= parameter na uchovanie pre volajuceho (pouzi 0 pre NETBIOS) Vracia: AX= chybovy kod, ak CF je nastaveny na CY Poznamka:Ak BL=03, potom zdroj je nazov zariadenia tlaciarne ASCIIZ (napr. "LPT1",0). CieI je v tvare: [\\computername\\shortnameprintdevice],0,[password],0 Heslo zacinajuce s 00 sa predpoklada, ze nie je heslom. Ak BL=04, potom zdroj je jednotka ID ASCIIZ (napr."F",0) a cieI je sietova cesta ASCIIZ. Po volani lokalne odkazy k tejto jednotke ID su presmerovane do zvoleneho nazvu pocitaca a cesty. ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß ß SubFn 04H: Zrusenie presmerovania siete pre zvolene zariadenie. Ocakava: DS:SI=> nazov zariadenia ASCIIZ alebo jednotky ID Vracia: AX= chybovy kod, ak CF je nastaveny na CY Poznamka:Ak DS:SI udava PRN, LPT1, LPT2 alebo LPT3 a zariadenie je zdruzene v sieti, sluzby siete tohoto zariadenia su ukoncene. Ak DS:SI udava jednotku ID a heslo (napr. "F:",0"mypswrd",0) potom presmerovanie takejto jednotky ID je ukoncene a jednotka ID je znovu uchovana vo svojom povodnom vyzname. Vid tiez: 5eH rozne informacie o sieti Funkcie DOS DOS Fn 62H: Urcenie adresy PSP ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º 62H DOS 3.0+ ÃÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º BX º adresa segmentu PSP aktualne vykonavaneho programu ÀÄÄÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Popis: Tato funkcia vracia PSP programu, ktory ho pouziva, do BX. Je potrebne pouzit na ziskanie adresy parametre prikazoveho riadku, adresu prostriedku DOS a vsetky uzitocne informacie poskytovane v PSP. Verzie: Prvy pomocou DOS 3.0 Vid tiez: PSP (prefix programoveho segmentu) prostriedok DOS Funkcie DOS strana: 82 Funkcie systemovych informacii 30H cislo verzie DOS 2fH aktualna adresa DTA 2aH aktualny datum systemu 62H aktualna adresa PSP 2cH aktualny cas systemu 35H aktualna hodnota vektora prerusenia 19H aktualny standardny disk 4dH vystupny kod procesu 47H aktualny standardny adresar 59H rozsirena informacia o chybe 38H informacia o krajine 44H IOCTL: status zariadenia/suboru 54H mod verifikacie disku 37H programovy prepinac 33H kontrola stavu Ctrl-Break 36H 1bH 1cH kapacita disku a voIne bajty 32H rozne informacie o disku 57H cas/datum suboru 4eH 4fH 11H 12H vyhIadavanie suborov ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Funkcie vstupu-vystupu znakov 01H vstup z klavesnice.................................... 3fH (BX=0) 08H vstup z klavesnice (bez odozvy na vystupe) 07H nefiltrovany vtup z klavesnice (bez odozvy na vystupe) 06H vstup a vystup obsluznej jednotky 02H zobrazenie jedneho znaku.............................. 40H (BX=1 alebo BX=2) 09H zobrazenie retazca znakov............................. 40H (BX=1 alebo BX=2) 0bH urcenie stavu vstupu(a spracovanie nevybaveneho Ctrl-Break) 0cH vymaz vyrovnavacej pamati klavesnice a cakanie na vstup 0aH vstup z klavesnice do vyrovn. pamati (vstupny retazec) 3fH (BX=0) 03H AUX (seriovy port) vstup.............................. 3fH (BX=3) 04H AUX (seriovy port) vystup............................. 40H (BX=3) 05H PRN (tlaciaren) vystup................................ 40H (BX=4) INT 2fH multiplexne funkcie (subezna tlac) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ V/V manipulatorovy subor Pouzitie tychto funkcii je vyhodnejsie oproti funkciam tradicnych V/V suborov FCB pokiaI nie je potrebne zachovat kompatibilitu s DOS verziou 1.10. Ich pouzitie je jednoduchsie. 3cH vytvorenie suboru--CREATE 5bH vytvorenie noveho suboru 5aH vytvorenie specifickeho/docasneho (nesmie jestvovat) suboru 3dH otvorenie suboru--OPEN 3eH zatvorenie suboru--CLOSE 41H zrusenie suboru--DELETE strana: 83 42H nastavenie ukazovateIa citanie/zapis LSEEK (zistuje tiez veIkost suboru) 3fH citanie zo suboru/zariadenia READ 40H zapis do suboru/zariadenia WRITE 44H IOCTL (moze sa pouzit na testovanie konca suboru) 45H kopiruje manipulatorovy subor DUP 46H presmerovanie V/V manipulatoroveho suboru REDIRECT Tradicny V/V subor FCB Tieto funkcie pracuju len so standardnym adresarom DOS.Vo vacsine pripadov je rozumne pouzivat funkcie osetrujuceho suboru V/V. 16H vytvorenie suboru 29H syntakticka analyza v nazve suboru typu FCB 0fH otvorenie suboru 11H 12H vyhIadanie aktualneho adresara pomocou FCB 10H uzavretie suboru 13H zrusenie suboru 14H citanie sekvencneho suboru 15H zapis sekvencneho suboru 21H citanie zaznamu zo suboru priameho pristupu 27H citanie rozptyleneho zaznamu zo suboru priameho pristupu 22H zapis zaznamu do suboru priameho pristupu 28H zapis rozptyleneho zaznamu do suboru priameho pristupu (tiez sluzi na zmenu veIkosti suboru) 24H nastavenie bloku poIa priameho zaznamu ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Adresar a funkcie suborov 39H vytvaranie noveho adresara MKDIR 0eH vyber aktualneho standardneho disku 3aH odstranenie adresara RMDIR 19H dotaz na aktualny standardny disk 3bH vyber standardneho adresara CHDIR 47H zistenie aktualneho standardneho adresara 56H 17H premenovanie suboru RENAME 57H nastavenie/dotaz suboru cas/datum 42H 23H dotaz na veIkost suboru 28H nastavenie veIkosti suboru (Fn 42H mozno pouzit na rozsirenie dlzky suboru) 43H zmena/dotaz na atributy suboru CHMOD 5cH blokovanie/odblokovanie pristupu k suboru 4eH 4fH vyhIadanie suboru pomocou nazvu suboru ASCIIZ--SEARCH 11H 12H vyhIadanie aktualneho adresara pomocou FCB 29H syntakticka analyza textu do nazvu suboru typu FCB Funkcie riadenia procesu 4bH EXEC: prevedenie podriadeneho programy 26H vytvorenie prefixu programoveho segmentu (PSP) 62H ziskanie adresy PSP aktualneho procesu 31H a INT 27H Ukoncenie ale uchovanie v pamati 00H a INT 20H tradicne ukoncenie programu strana: 84 4cH ukoncenie, prechod prostrednictvom vystupneho kodu do nadradeneho procesu 4dH ziskanie vystupneho kodu z ukonceneho procesu INT 23H ukoncenie pomocou Ctrl-Break INT 24H0 ukoncenie pomocou osetrovacieho programu kritickej chyby Start a ukoncenie programu podmienky pri spusteni programu Prefix programoveho segmentu (PSP) Struktura zahlavia suboru EXE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Riadiace funkcie pamati 48H ALLOCATE blok pamati (alebo urcit najvacsi dostupny blok) 49H FREE (uvoInit) prideleny blok pamati 4aH SETBLOCK: zhustovanie/rozsirovanie pamatoveho bloku Start a ukoncenie programu popisuje pamat pri spusteni programu MCB rozpisuje nedokumentovanu strukturu blokov riadenia pamati DOS Polia PSP MemTop a MemAvail su platne INT 12H vracia celkovu pamat systemu ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Rozne funkcie DOS 1aH nastavenie DTA 5cH blok./odblok. pristupu k suboru 25H nastavenie vektora prerusenia 5eH rozne funkcie siete 0eH vyber standardneho disku DOS 5fH presmerovanie zariadenia siete 0dH vynulovanie disku (vymaz vyrovnavacej pamati) 29H syntakticka analyza textu nazvu suboru typu FCB 2bH nastavenie systemoveho datumu 2dH nastavenie systemoveho casu 57H dotaz na cas/datum suboru 2eH nastavenie stavu overenia 37H SWITCHAR:nastavenie programoveho prepinaca 38H nastavenie aktualnej krajiny 44H IOCTL: kanal na komunikaciu s drajverom ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 20H: Ukoncenie programu Toto prerusenie sa pouziva na opustenie programu a vratenie riadenia nadria- denemu procesu (obycajne COMMAND.COM, interpreter prikazov DOS). strana: 85 Obnovuje hodnoty riadiaceho vektora DOS INT 22H, INT 23H, INT 24H. Tiez uvoInuje vsetky vyrovnavacie pamati suboru (subory maju byt uzavrete este pred zmenou ich dlzky). Upozornenie: Register CS musi obsahovat hodnotu PSP na ukoncenie procesu. Ak CS sa nerovna PSP, je mozne presunut JMP alebo RET do PSP:0000. Aby sa vyhlo tazkostiam, ktore sa vyskytnu ak CS nie je take iste ako PSP, doporucuje sa pouzit Fn 4cH DOS TERMINATE. Tiez umozni nastavit vystupny kod. Programy formatu COM obvykle prebiehaju ak CS=PSP, takze mozu vydavat INT 20H hocikedy. Programy EXE mozu prevadzat FAR JMP alebo FAR RET, aby sa preslo cez kontrolu na PSP=0000, ktora obsahuje instrukciu INT 20H. INT 21H: Funkcie DOS Toto prerusenie je zakladom vacsiny funkcii DOS. Program pozadujuci sluzbu DOS musi pripravit vsetky registre a informacie ria- diaceho bloku, nastavit AH na pozadovane cislo funkcie DOS a potom vyvolava INT 21H. Vid tiez: Funkcie DOS Skupiny funkcii DOS O funkciach DOS Nasledujuce sluzby alebo vektory DOS, ktore nie su volane pomocou INT 21H: INT 20H Ukoncenie INT 25H Priame citanie z disku INT 26H Priamy zapis na disk INT 27H Ukoncenie a uchovanie v pamati INT 2fH Multiplexne prerusenie (riadenie subeznej tlace) INT 25H/26H: Priame cit. z disku/zapis na disk ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AL º cislo zariadenia (0=A, 1=B, atd.) ÀÄÄÄÄÄÄÄÄĶ CX º pocet sektorov pre citanie/zapis º DX º pociatocny sektor (cislo logickeho sektora DOS) º DS:BX º adresa skoku (cieIova alebo zdrojova vyrovnavacia pamat) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak je nastaveny priznak prenosu (CF=CY=1) ÀÄÄÄÄÄÄÄÄĶ º (vid dalej), stracaju sa hodnoty vsetkych registrov okrem º º DS, ES, SS, SP. º º Upozornenie: Tato sluzba zanechava jedno 16-bitove slovo º º v zasobnikovej pamati. ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Tieto sluzby DOS umoznuju priamy pristup k IubovoInemu sektoru na disku pouzi- vanemu DOS BIOS, alebo instalovanym drajverom zariadenia. INT 25H cita sektory INT 26H zapisuje sektory Logicke sektory DOS zacinaju v samozavadzacom sektore. Prvym sektorom oblasti DOS je logicky sektor 0. Cisla logickych sektorov sa zvysuju najprv po kazdom sektore na cylindri, potom po kazdej hlave a nakoniec po kazdom cylindri na za- riadeni. strana: 86 Vsimnite si, ze hlavny samozavadzaci zaznam a vsetky ostatne sektory mimo oblas- ti DOS nie su touto sluzbou pouziteIne. INT 13H je jedina sluzba, ktora ma uplny pristup k vsetkym castiam pevneho disku. Vid tabuIku umiestnenia suboru, ktora popisuje, ako su pouzite logicke sektory mapy DOS vo vztahu k skupino- vym blokom pre vsetky vstupy a vystupy disku DOS. ÚÄÄÄÄÄÄÄÄÄ¿ ³ chyby ³ Chyby, vyskytujuce sa pocas INT 25H/26H nie su osetrovane INT 24H ÀÄÄÄÄÄÄÄÄÄÙ manipulatorom kritickej chyby. Pred opustenim INT 25H alebo INT 26H DOS BIOS sa vracia s nastavenym priznakom prenosu (CF=CY=1) ak sa vyskytla chy- ba. Ak je CF nastaveny: AL = chyba zariadenia (0-0cH) rovnake ako bity 0 - 7 DI pred INT 24H je to je- den z kodov chyby 13H-1fH (menej 13H) ako je uvedene v chybovych kodoch DOS AH = jedna z tychto hodnot: 80H = chybna odpoved pridavneho zariadenia 40H = chybna operacia nastavenia disku 08H = chyba CRC pri citani z jednotky pruzneho disku 04H = nenajdeny pozadovany sektor 03H = pokus o zapis na chraneny pruzny disk 02H = niektore dalsie chyby ako su vyssie uvedene ÚÄÄÄÄÄÄÄÄÄ¿ ³ priklad ³ Pouzitie vzorku INT 25H na precitanie samozavadzacieho sektora ÀÄÄÄÄÄÄÄÄÄÙ z pruzneho disku: mov al,0 ;voIba zariadenia A mov dx,0 ;voIba samozavadzacieho sektora DOS a BPB mov cx,1 ;citanie jedneho sektora lea bx,my_buf ;... do vyrovnavacej pamati na DS:BX int 25H pop dx ;zrusenie zvlastneho slova v zasobnikovej pamati jnc no_err ... etc... ;kod osetrenia IubovoInej chyby na disku (v AX) no_err: ... etc... ;pokracovaci kod, ak nie je chyba Poznamka: Nemozno predpokladat, ze sektor ma presne 512 bajtov. Je mozne pouzit Fn 1cH alebo 32H DOS, alebo citanie samozavadzacieho sektora, aby sa zistila skutocna veIkost sektora. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³32 Megabajtov ? ³ DOS ma podporovat maximalnu kapacitu disku 32 MB, avsak ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ prisne vzate, nie je to pravda. Pre standardne drajvery zariadeni su 512-bajtove sektory na disku. Je pravdou, ze ak sa do DX vlozi cislo najvyssieho sektora pre INT 25H alebo INT 26H je 65 535, potom maximalna kapacita disku je 32 767 kB alebo 32M. Avsak drajvery zariadeni inych ako IBM alebo drajvery buducich IBM zariadeni mozu podporovat veIkosti sektorov vacsie ako 512 bajtov. Preto prakticky ne- existuje obmedzenie kapacity disku. Dokonca u aktualnych drajverov sa pouziva maximum 32M sa vztahuje k jednoduchej oblasti DOS. Vid tabuIku umiestnenia suborov k pripadnym uvaham. strana: 87 INT 27H: Ukoncenie a uchovanie v pamati ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º DX º posledna adresa +1 na uchovanie v pamati ÀÄÄÄÄÄÄÄÄĶ º Poznamka: DX je posunutie od PSP (DS alebo ES pri starte) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º n/a º ÀÄÄÄÄÄÄÄÄĶ º ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Tato sluzba prechadza do DOS a ponechava cast priradenej pamati tak, ze nasle- dujuci program neprepise kody alebo udaje. INT 27H je obvykly sposob na instalovanie rutin sluzieb prerusenia a uzivatelom definovane tabuIky udajov. Pre dalsie alternativy vid DOS Fn 31H (KEEP). INT 27H (a vsetky sluzby opustenia DOS) ukladaju vektory INT 22H-24H z koncia- cich programov PSP. Preto tieto sluzby nemozu byt pouzite na instalovanie ose- trujuceho programu stalych kritickych chyb, alebo Ctrl-Break. INT 28H: Casove intervaly DOS Toto nedokumentovane prerusenie sa vykonava, ak DOS caka na stlacenie klavesy ako aj na predchodcu niektorych funkcii DOS mensich alebo rovnych 0cH. Tento vektor je podrzany funkciou PRINT (subezna tlac DOS) za ucelom najdenia casovych intervalov na citanie suborov a ich vypis na tlaciarni. Pouziva sa tiez pri roznych programoch (TSR). Typicky TSR pouzije INT 28H ako jeden z niekoIkych vstupnych bodov do ich kodov. To znamena, ze zachyti stlacenie klavesy a/alebo dalsie spustane udalosti a nas- tavi priznak, ak sa vyber pozaduje. Potom pred prevedenim INT 28H zavola povod- ny manipulacny program INT 28H a ak je nastaveny pozadovany priznak, prevedie vyber kodu. Dolezite: vyber nesmie pouzit funkcie DOS mensie alebo rovne 0cH, ak su preva- dzane z INT 28H. INT 2eH: Vykonanie prikazu DOS ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º DS:SI º posunutie vsetkych prikazov DOS "retazec", ktore je potrebne ÀÄÄÄÄÄÄÄÄĶ º vykonat (tiez pamat musi byt schopna zavedenia programu) ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º ?? º nie je zrejme, ako ziskat hlasenie stavu poziadavky ÀÄÄÄÄÄÄÄÄĶ SS,SP º su znicene ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Tato nedokumentovana sluzba vykonava prikaz DOS, ako keby bol napisany pri prompte DOS. strana: 88 Pri zadavani DS:SI ukazuje na retazec s pociatocnym dlzkovym bajtom a ukoncovacim bajtom 0dH (0dH nie je zahrnuty v dlzkovom bajte). Napr.: DB 12H,"nastav PROMPT=$p$g",0dH; ** retazec je dlhy 12H bajtov ** Tento priklad ilustruje hlavne pouzitie tejto sluzby--je mozne nastavit hodnoty v hlavnom prostredi DOS (Root). Vo vsetkych ostatnych pripadoch je uprednostno- vana funkcia DOS Fn 4bH (napr. EXEC COMMAND.COM pokracuje riadkom "/c prikaz dos "), kym nie je uplne zdokumentovany. Poznamka: najprv sa presvedcte, o zhusteni aktualneho riadiaceho bloku pamati pomocou funkcie DOS Fn 4aH. Uvolni * mnoho * miesta zasobnikovej pa- mati--DOS jej spotrebuje naozaj vela. SS a SP musia byt zachranene este pred volanim a zapamatane tesne po nom. Tato sluzba je tajomstvom. Zrejme sa nepouziva v ziadnom programe DOS, vratane COMMAND.COM. Pretoze je tak malo znama, nedoporucujem ju pouzivat. INT 2fH: Multiplexne prerusenie ÚÄÄÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÒÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ocakava º AH º cislo multiplexneho procesu ÀÄÄÄÄÄÄÄÄĶ º 01H = rezidentna cast prikazu 'PRINT' DOS º º 02H = rezidentna cast prikazu 'ASSIGN' DOS º º 10H = rezidentna cast prikazu 'SHARE' DOS º º 03H-7fH (rezervovane) º º 80H-0ffH (k dispozicii dalsim procesom) º AL º cislo subfunkcie º iny º ako definovane pre SubFn specifickych multiplexnych procesov ÚÄÄÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄ×ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ vracia º AX º chybovy kod, ak je nastaveny priznak prenosu ³ º º (pre procesy DOS) ÀÄÄÄÄÄÄÄÄĶ AL º instalovany stav (pre procesy DOS) º º 00H = neinstalovany, pripraveny pre instalaciu º º 01H = neinstalovany, nepripraveny pre instalaciu º º ffH = instalovany ÓÄÄÄÄÄÄÄÐÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Tento vektor (0000:00bc) sluzi vylucne na osetrenie roznych procesov, ktore su pouziteIne v rozsahu systemu IubovoInej aplikacie. Kazdy proces sa musi sam instalovat do retazca preruseni a kazde spajanie re- tazca musi testovat AH na vlastne cislo multiplexneho procesu. Ak sa jedna o po- ziadavku ineho procesu, musi prejst kontrolou povodneho vektora INT 2fH (adresa sa vyhIada na 0:00bc pred jeho instalaciou). ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Verzie DOS ³ INT 2fH nie su definovane pre predchadzajuce verzie DOS 3.0. ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ Vo verzii DOS 3.0, INT 2fH je definovane len pre subeznu tlac a hodnoty AH (ktore su teraz kriticke) nemaju vyznam. V DOS 3.2 je tento vektor definovany tak, ako je tu popisany. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Subezna tlac ³ AH = 1 (alebo AH = IubovoIne pre DOS 2.x). Toto je prepojenie ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ definovane pre tlac v pozadi (subezna tlac) potom, co bol pre- vedeny prikaz DOS 'PRINT'. strana: 89 AL je cislo subfunkcie (0-5). Vsetky SubFn mozu vracat chyby (vid dalej). AL = 0: urcenie instalovaneho stavu Vracia: AL = 00H = neinstalovany, pripraveny na instalovanie AL = 01H = neinstalovany, nepripraveny na instalovanie AL = ffH = instalovany AL = 1: zaradenie suboru pre subeznu tlac DS:DX => zaradenie bloku posun 0 = uroven (vzdy 0 pre DOS 3.0, 3.1 a 3.2) posun 1 = adresa DWORD (posun,segment) retazca ASCIIZ zariadenia, cesty a specifikacie suboru suboru pre tlac (zaradenie do fronty). (globalne nazvy suborov nie su dovolene) AL = 2: zrusenie zvolenych suborov DS:DX => retazec ASCIIZ specifikacie suboru na zrusenie (odstranenie z fronty) (globalne znaky su dovolene v nazve suboru) AL = 3: zrusenie vsetkych suborov (odstranenie vsetkych suborov z fronty a za- stavenie tlace). AL = 4: Status. Vracia pocet chyb a drzi vsetky programy vo fronte kvoli presku- saniu. Pouzitie dalsej SubFn 5 uvoInuje frontu. Vracia: DS:SI => blok specifikacie suboru fronty Jeden alebo viacej 64 bajtovych blokov obsahujucich spe- cifikovane subory ASCIIZ Je oznaceny koniec bloku specifikovanym suborom startu- jucim od 00H. DX = pocet nasledovnych chyb PRINT pocas pokusu vytlacit posledny znak AL = 5: koniec statu. UvoInuje frontu na pokracovanie tlace. AL = 0f8H-0ffH: (rezervovane DOS) Chyby subeznej tlace: ak je nastaveny bit prenosu pred navratom, AX obsa- huje chybovy kod: AX Popis chyby ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 1 Nespravne cislo funkcie 2 Nenajdeny subor 3 Nenajdena cesta 4 Prilis mnoho otvorenych suborov (nepouziteIne manipulatory) 5 Zakazany pristup 6 Nespravny manipulator 8 Fronta je plna 9 Obsadene 0cH Cesta a meno suboru prilis dlhe (prekracuje 64 bajtov) 0fH Nespravne specifikovane zariadenie ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Priradenie ³ AH=2 je cislo multiplexu pre rezidentnu cast prikazu ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ 'ASSIGN' DOS. Je definovana len SubFn AL=0 (urcenie stavu instalacie). ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Rozdelenie ³ AH=10H je cislo multiplexu pre rezidentnu cast prikazu ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ 'SHARE' DOS. Je definovana len SubFn AL=0 (urcenie stavu instalacie). strana: 90 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Vytvorenie vlastneho mux procesu ³ Technicka elektronicka prirucka DOS ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ vysvetIuje, ze je mozne pouzit INT 2fH ako vychodisko na instalovanie a spristupnenie nasho pamatoveho procesu. Uvaha je nasledovna: ak nahodne vyberieme nejaky vektor prerusenia pre nas pristup, dopustime sa urciteho rizika, zvlast v systeme subezneho spracovania uloh. Ak pouzijeme tento mux retazec, DOS vie o nas a nas vektor nebude prepisany niektorymi dalsimi manipulatormi. Potencialny problem: neexistuje vopred definovana cesta na rozhodnutie o cisle mux procesu pre AH. Ak pevne zakodujeme cislo, riskujeme, ze iny proces pou- ziva rovnake cislo. Mali by sme vlozit nejaku logiku testovania, ktora zabezpe- ci, ze ovladame proces, ktory sme predtym instalovali. Nas proces ma akceptovat aspon SubFn=AL=0 (urcenie stavu instalacie), aby sme vedeli, ci bol predtym instalovany. Poznamka: Ak nas mux proces pouziva sluzby DOS, alebo prebieha pri povolenom preruseni, mali by sme vytvorit nas proces viacnasobne pristupny. INT 22H: Adresy ukoncenia Adresa vektora (0000:0088) obsahuje adresu, ktora prevezme riadenie, ak aktul- ne prevadzany program konci pomocou: INT 20H (tradicny navrat do DOS) Fn 00H DOS Fn 4cH DOS (EXIT) INT 27H (TSR: ukoncenie a uchovanie v pamati) Fn 31H DOS (KEEP) DOS prevezme tento vektor pred poziadavkou prerusenia pocas INT 24H (kriticka chyba). Adresa tohto vektora je kopirovana do poIa ukoncenia adresy PSP pomocou Fn 26H DOS (tvorba PSP) a Fn 4bH (EXEC). Je nevhodne vyvolat INT 22H alebo volat priamo jeho adresu. INT 23H: Vystupna adresa Ctrl-Break Adresa vektora (0000:008c) je adresa, ktora prebera riadenie,ak DOS zisti, ze uzivateI stlacil Ctrl-Break. Adresa vektora INT 23H sa skopiruje do poIa adries Ctrl-Break PSP pomocou Fn 26H DOS (tvorba PSP) a Fn 4cH (EXEC). Povodna hodnota manipulatora sa vybe- rie Ctrl-Break z PSP, ak sa opusta program. Nadriadeny manipulator Ctrl-Break sa takto obnovuje este pred vystupom z podriadeneho procesu. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Snimanie Break ³ DOS vyvolava INT 23H ak zisti, ze uzivateI stlacil ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Ctrl-Break. Uroven snimania Ctrl-Break DOS moze byt kon- trolovana alebo nastavena pomocou Fn 33H ako je uvedene dalej: Ak je Break ON (zapnuty), DOS snima Ctrl-Break pocas vsetkych funkcii s vy- nimkou 06H a 07H. Ak je Break OFF (vypnuty), DOS snima Ctrl-Break len pocas prace obsluznej jednotky, tlaciarne a seriovych V/V zariadeni. strana: 91 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Interne osetrenie ³ Normalne osetrenie break DOS sposobi bezprostredne ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ukoncenie programu. Pre interne osetrenie Ctrl-Break v nasom programe vsimnite si: Pouzitie Fn 25H na nastavenie vektora INT 23H, aby ukazoval nas vlastny kod Ctrl-Break. Pred vstupom do manipulatora Ctrl-Break vsetky registre sa nastavia, akoby boli pred vstupom do funkcie DOS, ktora snimala Ctrl-Break. Ak chceme ignorovat Ctrl-Break, potom staci zadat IRET. Ak chceme zacat nejaku cinnost (napr. zastavit opakovanie cinnosti), potom je potrebne sa presvedcit, ci su chranene vsetky registre pred zapocatim cinnosti a nasledovnym obnovenim vsetkych registrov. Vystup pomocou IRET. Nejestvuju obmedzenia, pri ktorych by nas manipulator break nemohol prevadzat vsetky funkcie DOS. Avsak ak manipu- lator break sam prevadza vstup alebo vystup znaku a uzivateI znovu stlaci Ctrl-Break DOS sa znici. Ak chceme prerusit navrat do nadriadeneho procesu, potom je potrebne nastavit priznak prenosu a navrat pomocou FAR RET. Toto spo- sobi, ze DOS prevedie normalny vymaz a vystup do nadriadeneho procesu. Jedno- duchy sposob na zabezpecenie sprav procesov o vyskyte Ctrl-Break je obcas pre- viest Fn 0bH DOS. INT 24H: Manipulator kritickej chyby Tento vektor (0000:0090) je nastaveny na adresu, ktora prevezme riadenie, ak sa vyskytne kriticka chyba programu riadenia zariadenia.Adresa tohto vektora je kopirovana do PSP pomocou Fn 26H DOS (vytvorenie PSP) a 4bH (EXEC).Pred navratom k nadriadenemu procesu pole nadriadenych hodnot sa obnovi z jeho PSP na vektor INT 24H. Normalny manipulator INT 24H DOS je kod, ktory zobrazuje oznam: Abort, Retry, Ignore? ktory je viditeIny, ak uzaver jednotky pruzneho disku je otvoreny alebo tla- ciaren je nespriahnuta (off line). Najzlozitejsie programy dodavaju ich mani- pulator kritickej chyby, aby sa vyhli znehodnoteniu DOS setrne udrziavaneho tienidla obrazovky. ÚÄÄÄÄÄÄÄ¿ ³ Vstup ³ Pred vstupom do manipulatora INT 24H su registre nasledovne: ÀÄÄÄÄÄÄÄÙ BP:SI => zahlavie drajvera, ktore pomaha urcit chybne zariadenie. DI = bity 0-7 obsahuju chybovy kod (bity 8-15 nie su definovane) AL = ak AH bit 7=0, AL je cislo zariadenia (0=A, 1=B, atd.) AH = informacia o chybe: Ö7Â6Â5Â4Â3Â2Â1Â0· º ³0³ ³ ³ ³ ³ º Poznamka: ak bit 7=1, bity 0-6 nie su definovane ÓÒÁÄÁÒÁÒÁÒÁÄÁÄÁÒ½ bit º º º º È˼ ÈÍÍÍÍ 0: typ operacie: 0=citanie, 1=zapis º º º º ÈÍÍÍÍÍÍÍ 1-2: vyvolana oblast disku: º º º º 00=systemove subory,01=tab.umiestnenia suborov FAT º º º º 10=adresar, 11=udajova oblast º º º ÈÍÍÍÍÍÍÍÍÍÍ 3: 1=FAIL vystup je povoleny ÄÄ¿ º º ÈÍÍÍÍÍÍÍÍÍÍÍÍ 4: 1=RETRY vystup je povoleny ÆÍ len DOS 3.x º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 5: 1=IGNORE vystup je povoleny ÄÄÄÙ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 7: typ zariadenia: 0=disk, 1=ine strana: 92 Chybu mozno osetrovat naznacenim uzivateIovi, aby prevzal iniciativu (napr. zat- vorit uzaver zariadenia alebo zapnut tlaciaren). Funkcie DOS nad 0cH sa nemozu pouzit (okrem Fn 59H). Je mozne obdrzat dodatocnu informaciu z Fn 59H DOS a/alebo z pociatocneho bloku drajvera zariadenia, ktory je dany BP:SI. ÚÄÄÄÄÄÄÄÄ¿ ³ Vystup ³ Po osetreni alebo pokuse opravit chybu mozno nastavit AL na funkc- ÀÄÄÄÄÄÄÄÄÙ ny kod a vratit sa do DOS indikujuc jednu z cinnosti: AL=0: ignorovat chybu AL=1: opakovat operaciu AL=2: zrusit, ukoncenie pomocou adresy INT 23H (ako pri Ctrl-Break) AL=3: navrat do aplikacie s indikaciou chybnej funkcie DOS. DOS 3.x Preskusat AH na zaciatku, aby sa zistilo, ktore cinnosti nie su dovolene. Podmienka AL=3 sa zda byt idealnou. Napr., ak chybu sposobi operacia "Open File" pretoze nie je disk v zariadeni, je mozne prezriet aplikaciu normalnym osetrenim chyby. To ma vsak nevyhody: Podmienka AL=3 nie je pouziteIna u verzii nizsich nez DOS 3.0 DOS vzdy vracia chybovy kod 53H, ktory nie je prilis obsiahly. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ zasobnikova pamat ³ Pred vstupom do programu osetrenia chyby INT 24H zasobni- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ kova pamat je v znamom stave, ako je popisane dalej: IP Navratova adresa pre navrat do DOS pomocou IRET CS Priznaky AX,BX,CX,DX,SI,DI,BP,DS,ES Registre aplikacneho programu pred INT 21H IP Navratova adresa priameho prechodu do aplikacie CS Priznaky Register priznakov aplikacie Tato informacia moze byt pouzita na urcenie, ktora funkcia DOS zlyhala (AH za- chraneny v zasobnikovej pamati) a dalsie parametre v inych registroch. Ale jej prvotna hodnota je uz prenechana osetrujucemu programu INT 24H, ktory obnovuje obsahy registrov a prechadza priamo do aplikacneho programu. Obvykle budete predstierat,ze ste DOS a nastavite AX s chybovym kodom a nas- tavite CF=CY na indikaciu chyby (najlepsie programove vybavenie pouziva tuto techniku). Ak prejdete do aplikacie tymto sposobom, prirucka oznamuje, ze DOS sa nachadza v "nestabilnom" stave, kym sa nepouzije funkcia vacsia ako 0cH. Avsak tato technika sa pouziva v mnohych uspesnych programoch. Vektor INT 24H neposobi na chyby disku, ktore sa vyskytli pocas INT 25H/26H. Zaklady drajvera zariadenia InstalovateIny drajver zariadenia je zvlast formatovany program, ktory sa dos- tava do pamati pocas zavadzania DOS. strana: 93 Drajver zariadenia je subor v binarnom tvare. Po preklade zdrojoveho kodu sa pouzije na prevod do binarneho suboru EXE2BIN. Na rozdiel od suboru COM, neobsahuje na zaciatku ORG 100H. Prva cast suboru musi byt 18-bajtova struktura, ktora sa nazyva zahlavie drajvera. Prve styri bajty su pocas instalacie modifikovane DOSom. Ak subor CONFIG.SYS obsahuje pseudoinstrukciu 'DEVICE= ' pre subor drajver, potom sa tento nainstaluje do retazca drajverov zariadeni.Takto instalovane zariadenie ma prednost pred drajverom DOS pre zariadenie rovnakeho nazvu. ÉÍ Zahlavie drajvera zariadenia Í» ÖÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÒÄ Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä¿ ÉÍͺnaslzar³ ³ ³ ³C O N º kody a udaje ANSI.SYS ³ º ÓÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÐÄ Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä ÄÙ º ÖÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÒÄ Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä¿ º ºnaslzar³ ³ ³ ³C O N º kody a udaje zariadenia CON DOS ³ º ÓÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÐÄ Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä ÄÙ º ÖÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÒÄ Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä¿ ÈÍͺnaslzar³ ³ ³ ³L P T 1 º kody a udaje zariadenia LPT1 ³ ÉÍÍÓÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÐÄ Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä ÄÙ º ÖÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ· ÈÍͺnaslzar³ ³ ³ ³C O M 1 º ÉÍÍÓÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁĽ º ÖÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÒÄ Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä¿ ÈÍͺnaslzar³ ³ ³ ³C O M 2 º kody a udaje zariadeni COMn ³ ÉÍÍÓÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÐÄ Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä Ä ÄÙ atd. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Strategia a prerusenie ³ Dve polia v zahlavi drajvera tvoria 16 bitove indika- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ tory v kode segmentu drajvera zariadenia. Pri kazdej poziadavke zariadenia najprv vola DOS adresu strategie, presuva ju do adresy zahlavia poziadavky do ES:BS. Ulohou rutiny strategie je zaznamenat toto ES:BX pre neskorsie pouzitie (v prostredi subezneho spracovania moze tvorit frontu po- ziadavok FIFO). Potom DOS vyvolava rutinu prerusenia bez parametrov. Jej ulohou je vyvolat adre- su z posledneho zahlavia poziadavky a posobit na kod prikazu v zahlavi poziadav- ky. Rozne prikazy pre zariadenia pouzivaju rozne struktury balikov udajov odo- vzdavanych pomocou DOS. Vid struktury poziadavok na drajver pre zoznam prikazov a ich popis. Na osetrenie poziadavok obvykle drajver bude obsahovat niekoIko sposobov N-cestneho vetvenia, aby sa tieto osetrili. Na dokoncenie poziadavky drajver ma nastavit stavove slovo zariadenia, aby indi- koval ukoncenie a vyskyt chyby. Potom sa pomocou FAR vracia do DOS. Struktura zahlavia drajvera Touto strukturou zacina binarny tvar suboru drajvera zariadenia. Pocas instala- cie pole naslzar je aktualizovane, aby zapadlo do retazca zariadeni. strana: 94 Posun Dlzka Obsah ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ¿ naslzar: adresa FAR nasledujuceho zariadenia +0 4 ³ posun segment³ v retazci (posun=0ffffH, ak je to posledny ÃÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÙ drajver) +4 2 ³atrzar ³ bitove polia tvoriace atribut drajvera ÃÄÄÄÁÄÄÄ´ +6 2 ³strateg³ adresa posunu rutiny strategie zariadenia ÃÄÄÄÁÄÄÄ´ +8 2 ³prerus ³ adresa posunu rutiny prerusenia zariadenia ÃÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ meno zariadenia doplnene medze- +0aH 8 ³'L' 'P' 'T' '1' 20H 20H 20H 20H³ rami (alebo cislo podskupiny za- ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ riadenia pracujuceho s blokmi) Atribut drajvera Pole atrzar zahlavia drajvera poukazuje na vlastnosti zariadenia. 1 1 1 1 1 1 Ö5Â4Â3Â2Â1Â0Â9Â8Ò7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³0³ ³0 0 0 0³ ³0 0³ ³ ³ ³ º bit# hodnota masky ÓÒÁÒÁÒÁÄÁÒÁÄÁÄÁÄÐÄÁÒÁÄÁÄÁÒÁÒÁÒÁÒ½ º º º º º º º º ÈÍÍ 0: 1=zariadenie standard- º º º º º º º º neho vstupu (a & 0001H) º º º º º º º ÈÍÍÍÍ 1: 1=zariadenie standard- º º º º º º º neho vystupu (a & 0002H) º º º º º º ÈÍÍÍÍÍÍ 2: 1=standardne zariadenie º º º º º º NUL (a & 0004H) º º º º º ÈÍÍÍÍÍÍÍÍ 3: 1=casovacie zariadenie (a & 0008H) º º º º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 6: 1=podporuje logicke za- º º º º riadenia (a & 0040H) º º º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 11: 1=podporuje otvorenie/zat- º º º vorenie/RM (a & 0800H) º º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 13: 1=zariadenie pracujuce º º s blokmi (rozne od IBM) (a & 2000H) º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 14: 1=podporuje IOCTL (a & 4000H) ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 15: 1=znakove zariadenie (a & 8000H) 0=zariadenie pracujuce s blokmi Poznamky: ak nahradzujes drajver CON, nastav standardne V/V bity (0 a 1) zariadenie NUL nemoze byt znovu priradene (neskusaj nahradit zariadenie NUL DOS) bit logickych zariadeni (DOS 3.2+) oznacuje podporu poziadavok drajvera 17H a 18H (zistenie/nastavenie logickeho zariadenia) a pouzije sa na riadenie 'pseudo pruzneho disku', ktory je pojmom drajvera zariadenia DRIVER.SYS bit otvorenia/zatvorenia/RM (DOS 3.0+) oznacuje podporu poziadavok drajvera s vymeniteInymi mediami (0dH az 0fH) tak, ze drajver zariadenia pracujuceho s blokmi moze optimalizovat pomocou lokalnej vyrovnavacej pamati alebo znako- ve zariadenie moze vyslat inicializacnu postupnost bit zariadenia rozneho od IBM vyvolava cinnost 'vytvorenie BPB' (02H) strana: 95 bit IOCTL oznacuje podporu pre obsluzne programy zariadeni, ktore pouzivaju Fn 44H DOS Bit znakoveho zariadenia vyvolava poziadavky na vstup a vystup. Urcuje vyznam poIa 'meno zariadenia' zahlavia drajvera. Ak je tento bit=0 jedna sa o zaria- denie pracujuce s blokmi (obvykle diskovy mechanizmus). Bit casovacieho zariadenia poukazuje na vymenu jednotky CLOCK$. CLOCK$ je zna- kova jednotka, ktora osetruje poziadavky drajvera pre vstup a vystup (ma dlzku 6 bajtov). Poziadavka na vstup (kod prikazu 4) ma vratit 6 bajtov ozna- mujuci aktualny cas/datum a poziadavka na vystup (kod prikazu 8) ma akceptovat 6 bajtov na nastavenie hodin/kalendara. Format pre V/V CLOCK$ je: Posun Dlzka Obsah ÜÜÜÜÜÜ ÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄ¿ +0 2 ³ datum ³ dni od 1.januara 1980 ÃÄÄÄÂÄÄÄÙ +2 1 ³min³ aktualna minuta (0-59) ÃÄÄÄ´ +3 1 ³hod³ aktualna hodina (0-24) ÃÄÄÄ´ +4 1 ³sek³ aktualna sekunda (0-59) ÃÄÄÄ´ +5 1 ³sto³ aktualna stotina sekundy (0-99) ÀÄÄÄÙ Struktura poziadavok na drajver Cmd Nazov Pouz Ü Cmd Nazov Pouz DOS ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜ Û ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜ ÜÜÜÜ Û 0 Inicializacia zariadenia C,B Û 0aH Vystupny status C 1 Kontrola media B Û 0bH UvoInenie vystupu C 2 Vytvorenie BPB B Û 0cH Vystup IOCTL C,B,I 3 Vstup IOCTL C,B,I Û 0dH Otvorenie zariadenia C,B,R 3.0+ 4 Vstup (citanie zo zaria- Û denia) C,B Û 0eH Zatvorenie zariadenia C,B,R 3.0+ 5 Nedestruktivny vstup C Û 0fH VymeniteIne medium B,R 3.0+ 6 Vstupny status C Û 13H Genericka poziadavka 7 UvoInenie vstupu C Û IOCTL I 3.2 8 Vystup (zapis do zaria- Û 17H Zistenie logickeho deia) C,B Û zariadenia C,B 3.2 9 Vystup s verifikaciou C,B Û 18H Nastavenie logickeho Û zariadenia C,B 3.2 ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ Pouzite znaky: C = drajvery znakovych zariadeni ÄÄ¿ B = zariadenia pracujuce s blokmi ³ (hlavne diskove mechanizmy) ÆÍvid atributy drajvera I = musi podporovat IOCTL ³ R = musi podporovat otvorenie/za- ³ tvorenie/vymeniteIne medium ÄÄÄÙ strana: 96 Udajove pole struktury poziadavky premennej dlzky je definovane podIa poziadav- ky drajvera "Command Code" (bajt zahlavia poziadavky s posunom o 2). Niektore prikazy maju rovnake struktury poziadavky. Ine maju specificku strukturu a dalsie pouzivaju pre komunikaciu s DOS len zahlavie poziadavky. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Inicializacia zariadenia ³ Kod prikazu zariadenia:0 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Posun Dlzka Obsah ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +0 0dH ³ 13-bajtove zahlavie poziadavky ³ ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +0dH 1 ³ ³ Vracia: pocet zariadeni definovanych tymto drajverom ³ ³ (zariadenie pracujuce s blokmi) ÃÄÄÄÁÄÄÄÂÄÄÄÄÄÄÄ¿ +0eH 4 ³ posun segment³ Vracia: koncovu adresu rezidentneho kodu ÃÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄ´ +12H 4 ³ posun segment³ Vstup: adresa retazca ASCIIZ z CONFIG.SYS ³ ³ Vracia: adresu BPB pre zariadenie (zaria- ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÙ denie precujuce s blokmi) +16H 1 ³drv³ Cislo mechanizmu (0=A,1=B,atd.) Len pre DOS 3.0+ ÀÄÄÄÙ Ulohou drajvera je inicializovanie zariadenia a vratenie koncovej adresy pamati, ktoru chceme ponechat rezidentnou. Pocnuc DOS 3.0 posun 12H obsahuje adresu DWORD textu, nasledujucu po prikaze "DEVICE=" , ktory bol precitany zo suboru CONFIG.SYS. Na preskusanie a prevede- nie uzivateIskych parametrov mozete precitat tento text. Od verzie 3.0 posun 16H obsahuje cislo mechanizmu (to umoznuje drajveru zobrazit oznam, ktory infor- muje uzivateIa, aky identifikator zariadenia ID bol instalovany) Pocas inicializacie je vhodne pouzit Fn 01H-0cH DOS (na zobrazenie textu atd.) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Kontrola media³ Kod prikazu zariadenia: 1 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Posun Dlzka Obsah ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +0 0dH ³ 13-bajtove zahlavie poziadavky ³ ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +0dH 1 ³ ³ Vstup: bajt popisovaca medii (DOS zistuje, ci je zme- ³ ³ neny) ÃÄÄÄ´ +0eH 1 ³ ³ Vracia: 0ffH=medium vymenene; 1=rovnake medium; ³ ³ 0=neurcene ÃÄÄÄÁÄÄÄÂÄÄÄÄÄÄÄ¿ +0fH 4 ³posun segment³ Vracia: adresu ASCIIZ predchadzajuceho ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ media ID (ak bola zmena medii a RM je podporovane) Drajver je vyzvany urcit, ci bola zmena media. strana: 97 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Vytvorenie BPB ³ Kod prikazu zariadenia: 2 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Posun Dlzka Obsah ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +0 0dH ³ 13-bajtove zahlavie poziadavky ³ ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +0dH 1 ³ ³ Vstup: bajt popisovaca medii ÃÄÄÄÁÄÄÄÂÄÄÄÄÄÄÄ¿ +0eH 4 ³posun segment³ Vstup: adresa vyrovnavacej pamati ³ ³ (sektor 0 FAT) ÃÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄ´ +12H 4 ³posunn segment³ Vracia: adresu BPB tohto disku ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ Drajver je vyzvany vratit ukazovateI na BPB pre aktualny pruzny disk v mechaniz- me. Ak zariadenie ma atributy rozne od IBM, potom posun 0eH ukazuje nezmysel. Ak zariadenie pracujuce s blokmi je formatu IBM, potom ukazuje na prvy sektor tabuIky FAT (ktora sa precita este pred prikazom "Vytvorenie BPB"). ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Vstup alebo vystup ³ Kody prikazov zariadenia: 3,4,8,9,0cH ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Posun Dlzka Obsah ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +0 0dH ³ 13-bajtove zahlavie poziadavky ³ ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +0dH 1 ³ ³ Vstup: bajt popisovaca medii ÃÄÄÄÁÄÄÄÂÄÄÄÄÄÄÄ¿ +0eH 4 ³posun segment³ Vstup: adresa vyrovnavacej pamati preno- ³ ³ su udajov ÃÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÙ +12H 2 ³ pocit ³ Vstup: pocitadlo bajtov (pocitadlo sektorov pre ³ ³ zariadenie pracujuce s blokmi) ÃÄÄÄÁÄÄÄ´ +14H 2 ³sektor ³ Vstup: cislo pociatocneho sektora(len pre zaria- ³ ³ denie pracujuce s blokmi) ÃÄÄÄÁÄÄÄÅÄÄÄÄÄÄÄ¿ +16H 4 ³posun segment³ Vracia: adresu retazca ASCIIZ media ID ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ (ak chyba zariadenia vracia 0fH) strana: 98 Pri prikazoch vstupu (3,4) zariadenie ma preniest pocet bajtov (sektorov pre za- riadenie pracujuce s blokmi) zo zariadenia do pamati pocinajuc adresou s posunu- tim 0eH. Pri prikazoch vystupu (8,9,0cH) zariadenie ma preniest pocet bajtov/sektorov z pamati pocinajuc adresou s posunutim 0eH do zariadenia. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Nedestruktivny vstup bez cakania ³ Kod prikazu zariadenia: 5 ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Posun Dlzka Obsah ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +0 0dH ³ 13-bajtove zahlavie poziadavky ³ ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +0dH 1 ³ ³ Vracia: hodnotu bajtu,ktory nasleduje vo fronte ÀÄÄÄÙ Pouziva sa len pri znakovych zariadeniach. DovoIuje DOS predvidat znak, ktory sa vrati pri nasledujucej poziadavke vstupu NEXT. ÚÄÄÄÄÄÄÄÄ¿ ³ Status ³ Kod prikazu zariadenia: 6,0aH ÀÄÄÄÄÄÄÄÄÙ Tieto prikazy vyzaduju, aby drajver nastavil stavove slovo zariadenia s dorazom na "bit obsadenia" ("busy bit"). Volanie vstupneho statusu (prikaz 6) nuluje bit obsadenia na 0, ak vo vyrovna- vacej pamati sa nachadza znak. Nastavi ho na 1, ak vstupny prikaz pozaduje, aby aktualne zariadenie cakalo na bajt (napr. stlacenie klavesy). Volanie vystupneho statusu (prikaz 0aH) nuluje bit obsadenia na 0, ak nejestvuje nevybavena ziadost na aktualny vystup a dalsi vystup sa ma bezprostredne poslat do zariadenia. Nastavi ho na 1, ak predchadzajuca ziadost o vystup este nebola ukoncena. ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ³ UvoInenie ³ Kod prikazu zariadenia: 7,0bH ÀÄÄÄÄÄÄÄÄÄÄÄÙ Tieto prikazy vyzaduju, aby drajver uvoInil vyrovnavacie pamati vstupu alebo vystupu. Prevazne sa to pouziva na odstranenie stlacenia klavesy z vyrovnavacej pamati klavesnice. strana: 99 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Otvorenie alebo zatvorenie ³ Kod prikazu zariadenia: 0dH,0eH ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Tieto prikazy sa pouzivaju pre zariadenia s atributom drajvera, ktory podporuje "otvorenie/zatvorenie/RM". Zariadenia pracujuce s blokmi mozu pouzivat tieto prikazy na riadenie lokalnych vyrovnavacich pamati. Poziadavka "otvorenie" (0dH) sa vytvara pre kazdy subor, ktory je otvoreny. Volanie "zatvorenie" (0eH) sa vytvara, ked je subor zatvore- ny. To umoznuje drajveru zachovat stopu casu, co je vhodne na vymenu disku v me- chanizme a/alebo uvoInenie vyrovnavacich pamati pre najvacsi vykon. Znakove zariadenia pouzivaju tieto prikazy na odoslanie inicializacnych retaz- cov zariadeniu (napr. tlaciaren) alebo nulovanie zariadenia na standardne pod- mienky. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ VymeniteIne medium ³ Kod prikazu zariadenia: 0fH ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Tento prikaz sa pouziva pre zariadenia, ktore maju atribut indikujuci podporu "otvorenie/zatvorenie/RM". Drajver ma oznamit DOS, ci podporuje vymeniteIne medium, alebo nie. V bite obsadenia vracia informaciu stavoveho slova zariadenia. obsadeny (bit 9) = 0 vymeniteIne medium 1 nevymeniteIne medium ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Genericke IOCTL ³ Kod prikazu zariadenia: 13H Posun Dlzka Obsah ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +0 0dH ³ 13-bajtove zahlavie poziadavky ³ ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +0eH 1 ³ ³ Vstup: cislo subfunkcie ÃÄÄÄÁÄÄÄ¿ +0fH 4 ³ SI ³ Vstup: hodnota v SI v poziadavke IOCTL Fn 44H DOS ÃÄÄÄÁÄÄÄ´ +11H 4 ³DI ³ Vstup: hodnota, ktora presla do DI ÃÄÄÄÁÄÄÄÅÄÄÄÄÄÄÄ¿ +15H 4 ³posun segment³ Vstup: adresa udajoveho balika IOCTL ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ Drajvery DOS 3.2+, ktore indikuju podporu IOCTL v atribute drajvera, musia byt schopne osetrenia tohto volania. Pouziva sa pre rozne druhy operacii vratane formatovania disku. Je navrhute na vytvorenie standardneho prepojenia pre rozne typy diskov pomocou drajvera logickeho disku DRIVER.SYS. Pre dalsie informacie vid. Fn 44H DOS (IOCTL) strana: 100 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Zistenie/nastavenie logickeho zariadenia ³ Kod prikazu zariadenia: 17H, 18H ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Posun Dlzka Obsah ÜÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +0 0dH ³ 13-bajtove zahlavie poziadavky ³ ÃÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ +0dH 1 ³ ³ Vstup: kod zariadenia; Vracia: posledne zariadenie ÃÄÄÄ´ +0eH 1 ³ ³ Vstup: kod prikazu ÃÄÄÄÁÄÄÄ¿ +0fH 4 ³status ³ (Technicka prirucka DOS neuvadza o co tu ide) ÃÄÄÄÁÄÄÄÅÄÄÄÄÄÄÄ¿ +11H 4 ³ posun segment³ (rezervovane) ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ Drajvery DOS 3.2+, ktore indikuju podporu IOCTL v atribute drajvera, musia byt schopne osetrit toto volanie. Pouziva sa na udrzanie stopy "logickych" alebo "pridruzenych" mechanizmov instalovanych pomocou drajvera zariadenia pracujuceho s blokmi DRIVER.SYS. Umoznuje dotaz alebo oznam drajveru, ktory logicky mecha- nizmus je aktivovany ako fyzicky mechanizmus. Na zistenie poziadavky logickeho mechanizmu (18H) drajver ma ulozit identifika- tor mechanizmu ID do posunu 0dH (1=A,2=B,atd.). Ak drajver osetruje jednoduchy mechanizmus, potom ma vratit do toho poIa 0. Pozri Fn 44H DOS (IOCTL) subfunkcie 0eH a 0fH. Zahlavie poziadavky drajvera Kazda poziadavka na drajver je pomocou ukazovateIa pridruzena k strukture pozia- davky alebo baliku. Kazdy balik poziadavok zacina 13-bajtovou hlavickou. Pri vstupe do drajvera ES:BX ukazuje v tejto strukture na balik. Posun Dlzka Obsah ÜÜÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄ¿ +0 1 ³dlz³ dlzka tohto balika poziadavky (zahlavie a udaje) ÃÄÄÄ´ +1 1 ³zar³ cislo zariadenia (pouzivane len u zariadeni pracu- ³ ³ jucich s blokmi) ÃÄÄÄ´ +2 1 ³cmd³ kod prikazu (00-18H) urcuje cinnost, ktora sa ma ³ ³ vykonat ÃÄÄÄÁÄÄÄ¿ +3 2 ³status ³ stavove slovo zariadenia sa naplni este pred opuste- ³ ³ ³ nim drajvera ÃÄÄÄÁÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +5H 8 ³ (rezervovane) ³ ÃÄÄÄÁ Ä Á Ä ÁÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄÁÄÄÄÙ +0dH ? ³premenl. dlz udajov³ udaje formatovane podIa kodu prikazu ÀÄÄÄÁ Ä Á Ä ÁÄÄÄÁÄÄÄÙ pre jednotlive struktury pozri poziadavky drajvera strana: 101 Chyby drajvera zariadeni Ak drajver obdrzi neplatnu poziadavku alebo narazi na chybu pocas operacie, bit stavoveho slova zariadenia sa ma nastavit (bit 15) a chybovy kod ma byt umiest- neny v dolnych osmich bitoch (bajt zahlavia poziadavky s posunom 3). Chyba Popis Chyba Popis ßßßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßß Û ßßßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0 porusenie ochrany zapisu Û 9 koniec papiera v tlaciarni 1 nezname zariadenie Û 0aH chyba pri zapise 2 zariadenie nie je pripravene Û 0bH chyba pri citani 3 neznamy prikaz Û 0cH vseobecna porucha 4 chyba CRC Û 0dH (rezervovane) 5 chybna dlzka struktury Û 0eH (rezervovane) poziadavky Û 0fH neplatna zmena disku (DOS 3.0+) 6 chyba vyhIadania Û 7 nezname medium Û 8 nenajdeny sektor Û Û ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß Stavove slovo zariadenia 1 1 1 1 1 1 Ö5Â4Â3Â2Â1Â0Â9Â8Ò7Â6Â5Â4Â3Â2Â1Â0· ºe³rezervov.³b³dº kod chyby º s = 16-bitove slovo zahlavia poziadavky s po- ÓÒÁÄÁÄÁÄÁÄÁÄÁÒÁÒÐÄÁÄÁÄÁÄÁÄÁÄÁÄÁĽ sunom o 3 º º º º º bit hodnota masky º º º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍ 0-7:kod chyby zariadenia (s & 00ffH) º º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 8: 1=vykonane (nastavene º º vzdy pri vystupe) (s & 0100H) º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 9: 1=obsadeny (len prikazy º 6 a 0fH) (s & 0200H) ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 15: 1=vyskyt chyby (s & 8000H) Drajver musi vzdy vracat stavove slovo do DOS. Stavove slovo je umiestnene v zahlavi poziadavok drajvera s posunom 3. Pri normalnom ukonceni poziadavky musi drajver nastavit bit "obsadeny" a ukoncit pomocou navratu FAR. Bit "obsadeny" je nastavovany manipulatorom poziadavky zariadenia, ak zisti, ze nemoze vyhoviet poziadavke, pretoze fyzicke zariadenie je pouzivane predchadza- jucou poziadavkou. Pouziva sa tiez na vratenie roznych informacii akymi su napr. "fronta klavesnice nie je prazdna" alebo "vymeniteIne medium". Pozri poziadavky drajvera. Bit "chyba" je nastaveny ak drajver nemoze osetrit prijatu poziadavku alebo na- razi na chybu pocas pokusu vyhoviet poziadavke. Ak bol nastaveny bit "chyba" bity 0-7 maju byt obsadene kodom chyby (bajt v zahlavi poziadavky s posunom 3). Pre zoznam definovanych kodov chyby pozri chyby zariadenia. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Blok parametrov BIOS (BPB) Je to podmnozina udajov, ktora sa nachadza v strukture zavadzacieho sektora. Poziadavka na drajver 'vytvorenie BPB' ocakava od drajvera vyplnenie bloku touto strukturou. strana: 102 Posun Dlzka Obsah ßßßßß ßßßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ÚÄÄÄÄÄÄÄ¿ +0 2 ³DlzSekt³ pocet bajtov na sektor ÃÄÄÄÅÄÄÄÙ +2 1 ³DlzKlas pocet sektorov na klaster ÃÄÄÄÁÄÄÄ¿ +3 2 ³RezSekt³ zavadzaci sektor a rezervovane sektory ÃÄÄÄÅÄÄÄÙ +5 1 ³PocFAT pocet tabuliek umiestnenia suborov, pozri FAT ÃÄÄÄÁÄÄÄ¿ +6 2 ³VeIHlAd³ maximalny pocet 32-bajtovych poloziek adresara ³ ³ hlavneho adresara ÃÄÄÄÁÄÄÄ´ +8 2 ³CelSekt³ celkovy pocet sektorov media (oblast DOS) ÃÄÄÄÅÄÄÄÙ +0aH 1 ³Medium popisovac media (je rovnaky ako prvy bajt v FAT) ÃÄÄÄÁÄÄÄ¿ +0bH 2 ³VeIFAT ³ pocet sektorov v jednej tabuIke FAT ÀÄÄÄÁÄÄÄÙ 0dH dlzka BPB je 13 bajtov ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 00H:Pretecenie delenim CPU automaticky vykonava toto prerusenie po vykonani DIV alebo IDIV a vysledok (kvocient) operacie delenia nebude v mieste urcenia presny. Zahrnuje v sebe delenie nulou. Napriklad: mov ax,4000H ; delenec mov bl,2 ; deliteI je bajt, takze urcenie je bajt (AL) div bl ; 4000H/2 je 2000H, ktore nevojde do AL ; INT 00H je vykonane alebo jednoducho: mov bx,0 div bx ; IubovoIne delenie nulou ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 01H:Prerusenie od jednotlivych krokov Ak priznak prerusenia CPU je nastaveny (TF=1), CPU vykonava toto prerusenie po kazdej instrukcii. Ladiace programy, ktore umoznuju prechod instrukciami programu po jednotlivych krokoch, pouzivaju toto prerusenie na znovuzachytenie vykonania a zobrazenie registrov, pamati, atd. Pri vykonavani IubovoInej instrukcie INT prerusenie je vypnute, takze samotne INT 01H sa v rezime jednotlivych krokov nevykonava. Po opusteni prerusenia (po- mocou IRET) vsetky priznaky sa uchovaju a takto dalsia instrukcia bude preruse- na. strana: 103 Bezny sposob, ako zacat krokovanie, je vlozit slovo obsahujuce ziadane prizna- ky (vratane TF=1), vlozit adresu ziadaneho CS a IP na vykonanie a potom vykonat IRET na zapocatie krokovania od tejto adresy. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 02H:NemaskovateIne prerusenie NemaskovateIne prerusenie (NP) je jedine prerusenie, ktore nie je mozne maskovat pomocou instrukcie CLI, takze sa pouziva v zvlastnych pripadoch, ktore vyzaduju okamzitu pozornost. Je vytvorene na osetrenie havarijnych problemov, ako je zlyhanie siete. V ochrannom systeme NP vypise obsah pamati RAM na disk v zaujme ochrany udajov pred znehodnotenim. V standardnom BIOS PC je NP pevne zadrotovane pre pripad chyby parity pamati. Ak sa tato chyba vyskytne, PC sa zablokuje a "zmrzne". A teraz povedzte,necitite sa bezpecnejsie, ak viete, ze sa strati obsah celej pamati, nez iba niekoIko bitov? Matematicky koprocesor 8087/80287 je zviazany s riadkom NP a sposobuje preruse- nie, ak narazi na vynimocne podmienky (napr. delenie nulou). Obycajne je potreb- ne precitat V/V port 64H na zistenie, ci sa vyskytla chyba pamati alebo nie, vy- konat FNSAVE na zistenie, co sposobilo vynimku 8087, potom FNCLX na vymazanie chyby. Poznamka: PC Jr pouziva NP na zistovanie klavesnicoveho uderu z infracerveneho spektra. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 03H: Bod zastavenia Vektor INT 03H sa pouziva pri odladovani obsluznych programov, aby sa pozastavi- lo vykonavanie, ak bola dosiahnuta adresa vybrata uzivateIom. Operacne kody pre INT 03H su dlhe jeden bajt (0c0H), takze mozu byt umiestnene na na zaciatku IubovoInej instrukcie, bez moznosti prepisania kodu, ktory nasle- duje za nim. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 04H: Prerusenie z pretecenia Vektor INT 04H moze byt pozity ako jeden zo sposobov optimalizacie mnohych aritmetickych operacii. Po IubovoInej aritmetickej operacii instrukcia INTO bude testovat na aritmeticke pretecenie a ak priznak CPU je nastaveny (OF=OV=1), potom sa vykona INT 04H. strana: 104 Kod by vyzeral nasledovne: mov ax,var_1 add ax,var_2 into ; dvoj-bajtovy test na aritmeticke pretecenie ... atd. ... ; alebo pretecenie, alebo sa previedlo osetrenie ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 05H: Prerusenie pri tlaci z obrazovky INT 05H sluzi na "postrasenie" Intel (ktory ho povazuje za rezervovane pre CPU) a pouziva sa na vykonanie vypisoveho programu z obrazovky na tlaciaren v ROM BIOS. Je vyvolane priamo z prerusenia klavesnice INT 09H, ak zosnima tlak na klaves Print Screen (tlac z obrazovky). Moze byt takisto vyvolane softverovo a mozno ho zachytit, ak chceme pisat zakaznicky program pre vypis z obrazovky. EGA BIOS ma funkciu na nahradenie tlace z obrazovky, ktora pracuje s roznymi strukturami znakov obrazovky. Vid INT 10H SubFn 12H Graficke prikazy DOS nahradia tento program takym, ktory tlaci obrazovu grafiku (bodova struktura) na grafickych tlaciarnach IBM kompatibilnych. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 08H: Prerusenie od casovaca Toto hardverove prerusenie (IRQ 0) sa vykonava po kazdom hodinovom impulze hodin realneho casu PC. Hodinove impulzy sa vydavaju kazdych 55 ms, alebo priblizne 18.2 impulzov za sekundu. Kod ROM-BIOS (standardne) pre toto prerusenie aktualizuje hodnoty hodin na 0:046c. Takisto po dvoch sekundach vypina motory jednotiek pruznych diskov bez zapisu alebo citania. Vid udaje BIOS pre ine premenne. Ak chceme pouzit toto prerusenie na cinnosti casovane zakaznikom je potrebne sa uistit, ze zahrnuje kod oznamujuci systemu skoncenie prerusenia. Nasleduje tato zazracna sekvencia: mov al,20H ; vyslanie signalu "koniec prerusenia" out 20H,al ; na radic prerusenia 8259 Vacsina programov umoznuje standardnym kodom toto vykonavat. Napriklad, ak su instalovane, povodny vektor je uchovany v premennej pod nazvom cs:[saved_int8]. Potom nasledujuci kod sa vykona pri kazdom INT 08H: pushf ; simulovanie INT call dword prt cs:[saved_int8] ; prevadzanie normalnych cinnosti casovaca cmp cs:my_var,test_value ; teraz vykonavaj uzivateIsku cinnost ... atd. ... iret ; navrat do preruseneho predchadzajuceho aplikacneho programu ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 105 INT 09H: Prerusenie z klavesnice Toto hardverove prerusenie (IRQ 1) sa vykonava pri kazdom stlaceni a uvoIneni klavesu. Kod ROM-BIOS interpretuje stlacenie klavesa a uchovava hodnoty vo vy- rovnavacej pamati klavesnice na 0:041e. Takisto osetruje zvlastne pripady kIucov PrtSc (Print Screen) a SysReq a hIada status kIucov blokovania posuvu a polohy. Vid: INT 16H ........... sluzba BIOS pre pristup klavesov ulozenych vo vyrov- navacej pamati a obdrzanie statu urciteho klavesu posuvu. PrehIadavacie kody.. zoznam hodnot vsetkych moznych slaceni klavesov ako boli prijate pomocou INT 09H. TabuIka ASCII Rozsireny ASCII..... pre suhrn hodnot, ktore BIOS uklada vo vyrovna- vacej pamati klavesnice po prelozeni prehIadavacim kodom Priznaky klavesnice. pre suhrn ako obdrzat, testovat a modifikovat nasta- venie bitov priznakov blokovania posuvu a polohy. Programy uchovane v RAM, ktore maju priamy klaves na spustenie vyberu, obycajne zachytia INT 09H a test na urcity klaves s takouto sekvenciou: push ax in al,60H ; citanie klavesa cmp al,POP_KEY ; je to priamy klaves ? je do_pop ; ano, spustenie vyberu ; nie, chod cez povodny drajver pop ax jmp cs:[int9_vect] ; len vyjdi von do povodneho manipulatora prerusenia do_pop: ;------ na riesenie hardverovych preruseni je potrebne nasledovne: in al,61H ; urcenie aktualnej hodnoty riadiaceho riadku klavesnice mov ah,al ; uchovanie or al,80h ; nastavenie bitu "otvorena klavesnica " out 61H,al ; a zapis na riadiaci port xchg ah,al ; vyvolanie hodnoty povodneho riadiaceho portu out 61H,al ; a zapis spat mov al,20H ; vyslanie signalu "koniec prerusenia" out 20H,al ; do radica prerusenia 8259 ;------ ine kody osetruju ine testy a nakoniec spustaju vyber ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 0eH: Disketove prerusenie INT 0eH je hardverove prerusenie (IRQ 6) vynutene radicom jednotky pruzneho disku. strana: 106 Kod ROM-BIOS nastavuje siedmy bit premennej BIOS "seek_status" (vyhIadavaci) (0:043e), ktory indikuje, ze vyhIadavanie diskety pokracuje. Tento priznak pou- ziva INT 13H na urcenie, ci sa vyzaduje prekalibrovanie radica jednotky pruznych diskov pred dalsou cinnostou. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 10H: Videosluzby Nasleduje zoznam obrazovych sluzieb poskytovanych v ROM-BIOS. Pre uplny suhrn sluzieb INT 10H je potebne vybrat podrobnosti videosluzby Pre podrobnosti pridavnych sluzieb EGA je potrebne vybrat sluzby EGA BIOS AH Sluzba AH Sluzba ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 00H nastavenie obrazoveho modu 0aH zapis znaku 01H nastavenie veIkosti/tvaru kurzora 0bH vyber farebnej skaly/obrysu 02H nastavenie pozicie kurzora 0cH zapis grafickeho bodoveho prvku 03H citanie pozicie kurzora 0dH citanie grafickeho bodoveho prvku 04H citanie svetelneho pera 0eH zapis znaku ako TTY 05H vyber aktivnej strany obrazovky 0fH citanie obrazoveho modu 06H posuv okna nahor (vymaz okna) 10H farebna skala EGA 07H posuv okna nadol 11H generator znaku EGA 08H citanie znaku/atributu 12H zvlastne funkcie EGA 09H zapis znaku/atributu 13H zapisovy retazec (iba pre ÝATÞ a EGA) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 11H: Zoznam zariadeni INT 11H vracia priznakove bity do AX indikujuc, ktore zariadenie je instalovane alebo aktivne. Vid Zoznam zariadeni pre strukturu tychto bitov. ÝATÞ ma takisto konfiguraciu ulozenu v pamati CMOS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 107 INT 12H: PouziteIna veIkost pamati INT 12H vracia AX = cislo s poctom Kbajtov v PC. Je to ta ista hodnota ako na 0:413. Nezahrnuje skupinovo prepinanu pamat ako je to v L/I/M specifikacii rozsirenej pamati.Takisto nezahrnuje ziadnu "rozsirenu pamat" adresovanu nad 1 MB. Vid funkcie EMM a INT 15H. Na osobnych pocitacoch sa tato hodnota berie z nastavenia prepinacov. U osobnych pocitacov typu PCjr, XT a vacsiny klonov prevadza sa prehIadavanie pamati pocas POST na urcenie mnozstva instalovanej pamati. AT cita svoju pamat CMOS na ur- cenie mnozstva RAM. Prefix segmentu programu (PSP) IubovoIneho programu tiez obsahuje hodnotu uda- vajucu veIkost pamati; pristup PSP:0002 je bezny sposob ucenia mnozstva RAM dos- tupnej pre pouzitie programu.(DOS alebo riadiaci program ma snahu poskytnut pro- gramu menej nez celu RAM). Vid start a koniec programu. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 13H: V/V disku Tato sluzba sa vyuziva na priamy pristup k adapteru jenotky pruzneho disku alebo adapteru pevneho disku. Je vhodne pouzit funkcie DOS ako su INT 25H a INT 26H kde je to mozne, aby sa umoznilo drajverom zariadeni vseto zadavanie nizkych urovni. Samozrejme pre formatovanie disku alebo instalovanie/uchovanie ochrany kopie, moze byt INT 13 iba alternativne. Vid tiez: Mapa V/V portov, Port radica jednotky pruznych diskov SubFn: 00H nulovanie radica 01H urcenie statu 02H citanie sektorov 03H zapis sektorov 04H verifikacia sektorov 05H formatovanie stop SubFn nad 8 su urcene iba pre pevny disk 08H urcenie parametrov jednotky 10H test jednotky pripraveny 09H inicializacia tabuIky par. 11H rekalibracia 0aH dlhe citanie 14H diagnostika radica 0bH dlhy zapis 15H urcenie typu disku 0cH vyhIadavanie cylindra 16H status zmeny disku 0dH zmena nulovania 17H nastavenie typu disku AH Sluzba ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 00H nulovanie jednotky. Vyvolava rekalibraciu radica disku. Ak DL je 80H alebo 81H, radic pevneho disku je nulovany, inac je nulovany FDC. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 01H urcenie chyboveho statu vacsiny predchadzajucich operacii. Vstup: DL = jednotka. DL < 80H = disketa; DL > 7FH = pevny disk Vystup: AL obsahuje chybovy kod disku (pozn.: to iste ako na 0:0441) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß strana: 108 ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 02H citanie sektorov Vstup: DL = cislo jednotky (0=jednotka A...; 80H= pevny disk 0; 81H= pevny disk 1) DH = citanie/zapis cisla hlavy CH = cislo (cylindra) stopy (0-n) ÍÍ» CL = cislo sektoru (1-n) ÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍ Vid poznamku dalej. AL = pocet sektorov (nie viac nez 1 hodnota cylindra sektorov) ES:BX => adresa volajucej vyrovnavacej pamati 0:0078 => TabuIka parametrov diskety (pre operacie s disketami) 0:0104 => TabuIka parametrov pevneho disku Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. Poznamka: Hodnoty sektora a cylindra su 6 alebo 10 bitove hodnoty: ÖÄ5Â4Â3Â2Â1Â0Â9Â8Ò7Â6Â5Â4Â3Â2Â1Â0· CX: ºc c c c c c c c C c S s s s s s º ÓÄÄÁÄÁÄÁÄÁÄÁÄÁÄÁÄÐÄÁÄÁÄÁÄÁÄÁÄÁÄÁĽ ÈÍÊÍÍÍ vyssie bity cisla cylindra ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 03H zapis sektorov Vstup: (to iste ako u SubFn 02H) ES:BX => udaje k zapisu na disk. Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 04H verifikacia sektorov. Testuje CRC vybranych sektorov na chybu. Vstup: (to iste ako u SubFn 02H. ES:BX nemusi byt, ale je lepsie ho zahrnut) Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 05H formatovanie stopy. Format nizkej urovne znici udaje ak su pritomne. Vstup: DL,DH,CH = jednotka, hlava, stopa (vid SubFn 02H) ES:BX => popisovac sektora (vyzaduje vyrovnavaciu pamat 512 B) disketa: jeden 4 bajtovy 'CHNS' (cylinder, hlava, cislo sektora, veIkost) pre kazdy sektor stopy (napr. 36 B pre 9 sektoro- vu disketu) s cislami sektorov v sekvencnom poradi. 'Z' je kod veIkosti sektoru: 0=128; 1=256; 2=512; 3=1024 ÝATÞ pevny disk: jeden 2 bajtovy 'FN' (priznak, cislo sektoru) pre kazdy sektor stopy. Sekvencia 'N' poli urcuje faktor prekrytia. XT pevny disk: ES:BX sa nepouziva. Namiesto toho AL obsahuje hod- notu prekrytia medzi 1 a 16 (10H). Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. (pevny disk: 'F' polia urcuju nastavenie na 80H k vyznaceniu zlych sektorov) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 08H ÝATÞ XT urcenie parametrov jednotky. Vracia uzitocne informacie o jednotke Vstup: DL = jednotka Vystup: DL = pocet pevnych diskov na prvom radici DH = maximalna hodnota na hlavu CH = maximalna hodnota na cylinder (dolnych 8 bitov) CL = maximalna hodnota na sektor (a max. hornych bitov cylindra) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß strana: 109 ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 09H ÝATÞ Inicializacia tabuliek parametrov jednotky. Informuje BIOS o dynamickej modifikacii tabuliek parametrov jednotky. Vstup: Vektory pre INT 41H a INT 46H ukazuju na tabuIku parametrov pevneho disku pre jednotky 0 a 1. Pozn.: XT pracuje s dvomi jednotkami, ale musi pouzit parametre oboch pre vektor INT 40H. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0aH dlhe citanie ÝATÞ XT.Cita 512 B + 4 B ECC (kod korekcie chyby). Vstup: (to iste ako u SubFn 02H) Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. ES:BX => vyrov. pamat obsahuje (udaj sektora + 4 B) * pocet sektorov (v AL) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0bH dlhy zapis ÝATÞ XT. Zapisuje 512 B + 4 B ECC Vstup: (to iste ako u SubFn 02H) ES:BX => vyrov. pamat obsahuje udaj sektora + 4 B na sektor Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0cH vyhIadavanie cylindra ÝATÞ XT. Posun citacej/zapisovej hlavy priamo na stopu. DL,DH,CH = jednotka, hlava, stopa (vid SubFn 02H) Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0dH zmena nulovania disku ÝATÞ XT. Vstup: DL: = jednotka ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0eH citanie sektora vyrovnavacej pamati ÝATÞ. Vstup: (to iste ako u SubFn 02H) Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0fH zapis sektora vyrovnavacej pamati ÝATÞ. Vstup: (to iste ako u SubFn 02H) Vystup: Priznak prenosu=CY=1 ak sa vyskytla chyba a chybovy kod disku v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 10H testovanie pripravenosti ÝATÞ XT. Vstup: DL: = jednotka Vystup: Chybovy kod disku (status) v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 11H rekalibracia jednotky ÝATÞ XT. Vstup: DL: = jednotka Vystup: Chybovy kod disku (status) v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 12H diagnostika RAM radica ÝATÞ. Vystup: Chybovy kod disku (status) v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß strana: 110 ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 13H diagnostika jednotky ÝATÞ. Vystup: Chybovy kod disku (status) v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 14H vnutorna diagnostika radica ÝATÞ XT. Vystup: Chybovy kod disku (status) v AH. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 15H citanie typu disku ÝATÞ (nie je v XT BIOS) Vstup: DL: = jednotka Vystup: AH = kod jednotky: 0 = nie je jednotka DL 1 = disketa; nie je logika zmeny vodica 2 = disketa; je logika zmeny vodica (vacsina pripadov) 3 = pevny disk ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 16H citanie statu zmeny disku ÝATÞ. Vystup: AH = kod statu: 0 = nebol meneny ziadny disk 6 = vodic zmeny aktivny (pri nahodnom otvoreni vratok jednotky) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 17H nastavenie typu diskety ÝATÞ (pouzit pred formatovanim) Vstup: DL = cislo jednotky pruzneho disku (0 alebo 1) AL = typ diskoveho media: 0 = nepouzite 1 = disketa 360 kB v jednotke 360 kB 2 = disketa 360 kB v jednotke 1.2 MB 3 = disketa 1.2 MB v jednotke 1.2 MB ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Funkcie ROM-BIOS INT 14H: Seriovy V/V port Tieto funkcie poskytuju pristup k dvom portom RS-232 podporovanych BIOS. Zakladna adresa kazdeho do styroch seriovych portov je ulozena od 0:0400, ale POST testuje a inicializuje iba prve dva porty. Popis hardveru interfejsu vid v popise Porty asynchronnych adapterov. AH Sluzba ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 00H inicializacia komunikacneho portu Vstup: DX = cislo portu (0-1) AL = priznaky bitu inicializacneho parametra: ÚÄ7ÄÂÄ6ÄÂÄ5ÄÂÄ4ÄÂÄ3ÄÂÄ2ÄÂÄ1ÄÂÄ0Ä¿ ³ pren rychl³ parita³stp³ dlzka ³ ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÒÄÁÄÄÄÁÄÄÄÙ ÈÍÍÍËÍÍͼ ÈÍËͼ º ÈÍÍÍÍÍÍÍÍ dlzka slova º º º 10=7 bitov; 11=8 bitov º º º º º ÈÍÍÍÍÍÍÍÍÍÍÍÍ stopove bity 0=1; 1=2; º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ kod parity º 0=nic; 01=neparny; 02=parny ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ pren. rychlost 000=110; 100=12 001=150; 101=2 010=300; 110=4 011=600; 111=9 Vystup: AH = status komunikacie (vid dalej) strana: 111 ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 01H vyslanie znaku z vybraneho portu RS-232 Vstup: DX = cislo portu (0-1) AL = znak na vyslanie Vystup: AL ostava uchovane. Ak je nastaveny bit 7 v AH, vyskytne sa chyba a AH (bity 6-0) = status komunikacnej linky (vid AH dalej) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 02H prijem znaku z vybraneho portu RS-232 Vstup: DX = cislo portu (0-1) Vystup: AL je prijaty znak AH je nenulovy pri vyskyte chyby ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 03H urcenie statu komunikacneho portu Vstup: DX = cislo portu (0-1) Vystup: AX je status komunikacneho portu AH = status riadenia linky AL = status modemu ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ bit 7: casove odpojenie bit 7: prijaty signal detekcie linky bit 6: prenos posuvu reg.prazdny bit 6: indikator kruhoveho spojenia bit 5: prenos drzi reg.prazdny bit 5: udaje v stave pripravenosti bit 4: detekcia prerusenia bit 4: vymaz vyslany bit 3: ramcova chyba bit 3: det. prij. link. sig. delta bit 2: chyba parity bit 2: kruhovy detektor zostup. hrany bit 1: chyba preplnenia bit 1: pripravenost udajov delta bit 0: status pripr. udajov bit 0: vymaz delta na vyslanie ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 15H: Sluzby rozsireneho AT INT 15H osetruje mnozstvo zvlastnych funkcii ÝATÞ : SubFn: 00H Kaz.motor ZAP 80H Zar.otvorene 86H Cakanie 01H Kaz.motor VYP 81H Zar.zatvorene 87H Pohyb rozs.pam.bloku 02H Citanie kazety 82H Ukoncenie progr. 88H Urcenie rozs.pam.bloku 03H Zapis kazety 83H Cakanie udalosti 89H Prep. na virtualny mod 84H Joystick 90H Slucka obsadenia zariadenia 85H Klaves SysReq 91H Koniec prerusenia Poznamka: Pre strucnost su vynechane SubFn kaziet. AH Sluzba ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 80H Zariadenie otvorene. Vracia to bez prebehnutia cinnosti. Vid SubFn 90H a 91H Vstup: BX = ID zariadenia; CX = ID procesu ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß strana: 112 ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 81H Zariadenie zatvorene. Vracia to bez prebehnutia cinnosti. Vid SubFn 90H a 91H Vstup: BX = ID zariadenia; CX = ID procesu ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 82H Ukoncenie programu zariadenia. Cinnost neprebieha. Vid SubFn 90H a 91H. Vstup: BX = ID zariadenia ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 83H Cakanie udalosti. Spusta casovac a nastavuje priznak po urcitom intervale. Vstup: AL je kod subfunkcie: AL = 0: nastavuje interval (a spusta casovac) ES:EX = adresa v uzivateIskej pamati 1 B. Bit 7 bude nastave- ny po uplynuti intervalu. CX,DX = pocet mikrosekund po uplynutie casu (CX je vysoke) AL = 1: Ukoncenie ocakavania udalosti. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 84H Podpora joysticku. Vstup: DX je kod subfunkcie: DX = 0: citanie aktualneho nastavenia prepinacov Vracia: AL je nastavenie prepinacov (bity 7-4) DX = 1: citanie vstupov X,Y joysticku Vracia: AX je X hodnota joysticku 'A' (horizontalna) BX je Y hodnota joysticku 'A' (vertikalna) CX je X hodnota joysticku 'B' (horizontalna) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 85H Cinnost klavesu SysReq. Vracia to bez prebehnutia cinnosti. Tato funkcia je vyvolana pomocou INT 09H po stlaceni alebo uvoIneni klavesu SysReq. Princip spociva v tom, ze operacny system ba mohol zachytit INT 15H a testovat SubFn 85H na polohu statusu (stlaceny alebo uvoIneny) klavesu SysReq. Vstup: AL = 0: stlaceny SysReq (klaves 'zapnuty') AL = 1: uvoIneny SysReq (klaves 'vypnuty') ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 86H Cakanie. Ide do slucky spustenej prerusenim az do uplynutia doby. Vstup: CX,DX = mikrosekundy cakania pred navratom do zdroja vyvolania. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 87H Pohyb rozsireneho pamatoveho bloku. Posuva pamatovy blok do/z rozsireneho pamatoveho bloku (RAM nad 1 MB na pocitacoch Ý286Þ). Vstup: ES:SI => Uplna tabuIka popisovaca (GDT) vid dalej. CX = pocet 16 bitovych slov k presunu (max. je 8000 = 32 kB) Vystup: Priznak prenosu = CY = 1 pri chybe. AH = 0 nie je chyba AH = 2 vyskyt vynimocneho prerusenia AH = 1 chyba parity RAM AH = 3 chyba hradlovania adr.linky 20 Struktura GDT pre SubFn 87H ES:[SI]+00H prazdny popisovac (vynulovany zdroj volania) ES:[SI]+08H popisovac tohoto GDT (vynulovany zdroj volania) ES:[SI]+10H popisovac bloku zdroja (vid dalej) ES:[SI]+18H popisovac bloku urcenia (vid dalej) ES:[SI]+20H segment kodu pre BIOS (vynulovany zdroj volania) ES:[SI]+28H segment zasobnikovej pamati (vynulovany zdroj volania) strana: 113 Poznamka: Prerusenia su aktivne pokiaI sa udaje prenasaju, takze pokiaI prebie- haju subezne asynchronne komunikacne procesy, je potrebne sa vyhybat prenosu veIkeho mnozstva udajov. Vid VDISK.SYS ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 88H Urcenie rozsirenej veIkosti pamati. Vystup: AX je pocet prebiehajucich 1 kB blokov nad 1 MB (1024 kB) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 89H Vstup chraneneho modu (Virtualna pamat 286). Je to podvod, ak nevies co ro- bis. Bude preto lepsie, priateIu, ak si lepsie prestudujes vypis BIOS. Vstup: ES:SI => 8 prvkova uplna tabuIka popisovaca (GDT) (vid dalej) BH = posun v IDT startu prvych 8 hardverovych preruseni BL = posun v IDT startu druhych 8 hardverovych preruseni Vystup: AH = 0 ak bol uspesny Vsetky segmentove registre maju zmeneny obsah. AX a BP sa stratili. 80286 prechadza do chraneneho modu s priamym pristupom do realneho modu. Struktura GDT pre SubFn 89H ES:[SI]+00H prazdny popisovac (vynulovany zdroj volania) ES:[SI]+08H popisovac tohoto GDT (zdroj volania inicializ.) ES:[SI]+10H popisovac IDT (zdroj volania inicializ.) ES:[SI]+18H popisovac zdroja volania DS (zdroj volania inicializ.) ES:[SI]+20H popisovac zdroja volania ES (zdroj volania inicializ.) ES:[SI]+28H popisovac zdroja volania SS (zdroj volania inicializ.) ES:[SI]+30H popisovac zdroja volania CS (zdroj volania inicializ.) ES:[SI]+38H docasny BIOS CS (vynulovany zdroj volania) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 90H Slucka obsadenia zariadenia. Vracia to bez prebehnutia cinnosti. Myslim, ze ak si Ing. alebo Dr. mozes to zachytit a nieco s tym vykonat. Vstup: AL = kod typu zariadenia 00H = pevny disk 01H = disketa 02H = klavesnica 80H = siet ES:BX => blok riadenia siete fdH = start motora jednotky pruzneho disku feH = tlaciaren ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 91H Koniec prerusenia. Vracia to bez prebehnutia cinnosti. Podstata je v poskyt- nuti mechanizmu pre volanie manipulatora zariadenia na kontrolu obsadenia zariadenia. Ak je manipulator urobeny s poziadavkou, moze pouzit tuto funk- ciu na oznamenie zvysku systemu, ze zariadenie je voIne. Vstup: AL = kod typu zariadenia (vid SubFn 90H) AL = 00H - 7fH: seriovo znovupouziteIne zariadenia AL = 80H - bfH: zariadenia s opakovanym vstupom (ES:BX => paket udajov) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 114 INT 16H: Sluzby klavesnice Je to interfejs aplikacnej urovne na klavesnicu. Klavesove udery su skutocne vykonavane asynchronne v pozadi. Kazdy klavesovy uder prijaty z klavesnice je spracovany pomocou INT 09H a umiestneny do kruhoveho radu. Na zvysenie informovanosti o klavesnici a inom hardveri, vid klavesnicu AT AH Sluzba ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 00H citanie (cakanie na) nasledujuci klavesovy uder Vystup: AL = znak ASCII (ak AL=0, AH je klavesovy uder rozsireneho ASCII) AH = prehIadavaci kod alebo klavesovy uder rozsireneho ASCII ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 01H kontrola pripravenosti klavesoveho uderu (a jej kontrola) Vystup: ZF = ZR = 1 ak ziadny klaves nie je pripraveny ZF = NZ = 0 ak klaves je pripraveny. AX je nastaveny pokiaI ide o SubFn 00H (ale klavesovy uder nebol odstraneny z fronty) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 02H Citanie statusu klavesu posuvu. Urcuje, ci klavesy posuvu boli sucasne stla- cene a ci klavesnica je v stave NumLock,atd. Vystup: AL = klaves posuvu a status 'blokovania' ako v priznakoch klavesnice ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 17H: Podpora tlaciarne Tieto funkcie poskytuju pristup k paralelnym portom tlaciarni (LPT1, atd.) Adresy portov tlaciarni su uchovane pocinajuc 0:0408. Vid udaje BIOS K popisu interfejsu hardveru vid porty tlaciarni. Hodnoty casoveho odpojenia tlaciarne zacinaju na 0:0478. Program tlace obrazovky je INT 05H AH Sluzba ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 00H Tlac znaku Vstup: AL = znak ASCII. Vid tiez: riadiace kody ASCII DX = cislo tlaciarne (0,1, alebo 2) Vystup: AH = 01H ak znak nemohol byt vytlaceny (vyskytlo sa casove odpojenie) ine bity nastavene ako v SubFn 02H (priznaky statusu) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 01H inicializacia portu tlaciarne Vstup: DX = cislo tlaciarne (0,1, alebo 2) Vystup: AH = nastavene ako v SubFn 02H (priznaky statusu) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 02H urcenie statusu tlaciarne Vstup: DX = cislo tlaciarne (0,1, alebo 2) Vystup: AH = priznaky statusu taciarne strana: 115 Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ ³ ³ º ÓÒÁÒÁÒÁÒÁÒÁÄÁÄÁÒ½ º º º º º È˼ ÈÍÍÍÍ casove odpojenie (AH & 01H) º º º º º ÈÍÍÍÍÍÍÍ (nevyuzite) º º º º ÈÍÍÍÍÍÍÍÍÍÍ V/V chyba (AH & 08H) º º º ÈÍÍÍÍÍÍÍÍÍÍÍÍ vybrate (AH & 10H) (00H znaci off-line) º º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ chyba papier (AH & 20H) º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ potvrdenie (AH & 40H) (40=pripoj.tlaciaren) ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ neobsadene (AH & 80H) pozn.:znaci obsadene ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 18H: ROM-BASIC Tento vektor ma vstupny bod pre interpret ROM-BASIC, ktory sa nachadza iba na verziach logo pocitacov IBM. Klony nemaju BASIC v ROM a musia pouzivat zvlastny program, obycajne GWBASIC. Ak ROM-BIOS nemoze dostat disk na samozavadzanie, ma k dispozicii tento vektor. Toto umoznuje externemu modulu ROM prehIadavaca ROM menit tento vektor, na indi- kaciu seba sameho a takto prevziat riadenie, ak disk zlyhal alebo nie je pritom- ny. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 19H: Samozavadzaci program Tento vektor sa berie po vykonani POST, v zaujme pokusu o zavedenie a vykonanie IubovoIneho kodu "samozavedenia" na pruzny alebo pevny disk. Udaj v sektore 1 stopy 0 hlavy 0 disketovej jednotky 0 prveho zodpovedajuceho disku (diskety alebo pevneho disku) je zavedeny od absolutnej adresy 0000:7c00 a zariadenie je dane na tuto adresu. Ak su vsetky disky chybne, riadenie ide na INT 18H. Kod zavadzacieho sektora na pevnom disku skutocne urcuje, ktory segment je aktivny a potom zavedie a vykona zavadzaci sektor pre tento segment. Toto prena- sa riadenie na operacny system aktivneho disku. Na dalsie uvahy o zavadzacich sekvenciach pevneho disku vid tabuIku rozdelenia disku Na informacie o formate zavadzacieho sektora DOS vid strukturu zavadzacieho sektora Poznamka: Tuto sluzbu mozno pouzit na znovuzavedenie DOS po zmene niektorych hodnot v zozname zariadeni alebo inych premennych BIOS (je potrebne sa presvedcit ci je prestavene 0:0472 na 1234H). Po znovuzavedeni DOS zaregistruje vsetky vykonane zmeny. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 1aH: V/V casu Tato sluzba poskytuje pristup k systemovym hodinam. PC BIOS pracuje s poctom tikov 55ms intervalov, ktore sa objavuju pri zapnuti alebo vynulovani PC. BIOS ÝATÞ takisto poskytuje pristup k hodnotam hodin realneho casu, ktore su stale aktualizovane bez cinnosti CPU a su ulozene do pamati CMOS AT. strana: 116 AH Sluzba ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 00H citanie hodin (pocet tikov) Vystup: CX,DX = pocet tikov od vynulovania. CX je vysoky, DX je nizky. AL = 0 u casovaca sa nevyskytlo pretecenie za uplynulych 24 hodin od vynulovania. Poznamka: hodiny aktualizuju pri 1193180/65536 (asi 18,2) tikov/sek. pocet za sekundu 18 pocet za minutu 1092 pocet za hodinu 65543 pocet za den 1573040 ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 01H nastavenie hodin (pocet tikov) Vstup: CX,DX = pocet tikov. CX je vysoky, DX je nizky. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 02H ÝATÞ citanie casu z energeticky nezavislych (CMOS) hodin realneho casu Vystup: CH = hodiny v BCD (Priklad: CX = 1243H = 12:43) CL = minuty v BCD DH = sekundy v BCD Vystup: CF = CY = 1 ak hodiny nepracuju ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 03H ÝATÞ nastavenie casu energeticky nezavislych (CMOS) hodin realneho casu Vstup: CH,CL = hodiny, minuty v BCD DH = sekundy v BCD DL = 1 umoznuje ulozenie voIby casu ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 04H ÝATÞ citanie datumu z energeticky nezavislych (CMOS) hodin realneho casu Vystup: CH = storocie v BCD (Priklad: CX=1987H = 1987) DL = rok v BCD DH = mesiac v BCD (Priklad: DX=0312 = 12. marec) DL = datum v BCD Vystup: CF = CY = 1 ak hodiny nepracuju ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 05H ÝATÞ nastavenie datumu energeticky nezavislych (CMOS) hodin realneho casu Vstup: CH,CL = storocie, rok v BCD DH,DL = mesiac, datum v BCD ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 06H ÝATÞ nastavenie vystraznej signalizacie hodin realneho casu. Vo zvolenom case pri vektore INT 4aH sa vykonava uzivateIom zadany program. Sucasne iba jedna vystraha moze byt aktivna. Vstup: CH,CL = hodiny, minuty v BCD DH = sekundy BCD Vystup: CF = CY = 1 ak hodiny nepracuju alebo vystraha je uz aktivna. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 07H ÝATÞ vynulovanie vystraznej signalizacie hodin realneho casu. Toto umoznu- je zrusit jednu vystrahu pred nastavenim druhej. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ strana: 117 INT 1bH: Ctrl-Break klavesnice Ak sa vyvinie tlak na klaves Ctrl-Break, berie BIOS tento vektor (0:006c). INT 1bH ukazuje na IRET, ale DOS ho nastavuje na lokalnu adresu, ktora nastavuje vnutorny priznak DOS. DOS ho testuje v kazdom okamziku a na zaklade toho kona, v zavislosti na stave testovania prerusenia DOS. Popis osetrenia DOS Ctrl-Break je v Fn 33H a INT 23H DOS. Priznak v oblasti udajov BIOS (0:0471) urcuje nastavenie v zavislosti od prveho prichodu prveho Ctrl-Break, ale nikdy sa neuskutocni vynulovanie ak to neurobi- me sami. Je mozne pouzit tento priznak ako sposob urcenia nadriadeneho procesu, ak podriadeny proces bol zruseny pomocou Ctrl-Break. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 1cH: Prerusenie casovaca uzivateIa Tento vektor (0:0070) berie BIOS po kazdom tiknuti hardveru hodin (kazdych 55 ms priblizne 18,2 krat za sekundu). Normalne ukazuje na fiktivny IRET, ale moze sa zmenit pomocou uzivateIskeho programu a ukazuje na ulohu v pozadi riadenu caso- vacom. Kym INT 1cH sa vykonava pocas hardveroveho prerusenia nizsej urovne, treba pama- tat, ze system este nevynuloval radic prerusenia. Preto ine hardverove preruse- nia, menovite prerusenie z klavesnice, sa neobjavia, kym INT 1cH prebieha (nie je mozny uzivateIsky vstup). Vacsina vyberovych programov dava prednost zachyteniu vektora nizsej urovne INT 08H, volaju originalny vektor a potom, co BIOS skonci "upratovanie" vyko- navaju operaciu casovaca. Navrhy a doporucenia vid INT 08H. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 1dH: UkazovateI obrazovych parametrov Tento vektor (0:0074) je ukazovateI skupiny obrazovych parametrov, ktore pouziva INT 10H na nastavenie registrov obrazoveho radica a niektorych hodnot udajov BIOS, ak je inicializovany obrazovy mod. Umoznuje vytvorit rezidentnu verziu RAM tejto tabuIky, a modifikovat parametre na zmenu sposobu prace niektorych obrazovych modov. Napriklad, ako prikaz "Mode" DOS posuva obraz doIava alebo doprava. Struktura tabuIky je v tabuIke obrazovych parametrov ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 1eH: UkazovateI disketovych parametrov Tento vektor (0:0078) je ukazovateIom tabuIky disketovych parametrov, kde BIOS pouziva disketove sluzby INT 13H pre rozlicne disketove operacie. strana: 118 Tato tabuIka zahrnuje hodnoty ako "doba usadenia hlavy" a "doba rychlosti kroko- vania" co ma obrovsky vplyv na rychlost vstupu a vystupu diskety. Je mozne vytvorit rezidentnu verziu RAM tejto tabuIky a modifikovat vybrane parametre na niektore zmeny disketovych operacii. DOS vytvara modifikovanu ver- ziu tejto tabuIky na skvalitnenie prevadzky disketovej jednotky. Naviac DOS regeneruje normalne (pomalsie) hodnoty, ak znovu preberie riadenie aplikacny program. Strukturu tabuIky vid v tabuIke disketovych parametrov. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ INT 1fH: UkazovateI grafickych znakov Tento vektor ( 0:007c) je ukazovateI tabuIky definicii znakov pre najvyssich 128 znakov (hodnoty ASCII 128-225). Pouziva ho ROM-BIOS na zobrazenie a citanie znakov na obrazovke, pokiaI je v bitovo-mapovacom grafickom mode. Tento ukazovateI je povodne nastaveny na F000:0000 pri starte, takze hornych 128 znakov je povodne zobrazenych ako nahodne bezvyznamne udaje ak je nastaveny graficky mod. Prikaz "GrafTabl" DOS 3.x mozno pouzit na instalovanie hodnot,kto- re koresponduju s hornymi znakmi zobrazenymi v textovom mode. Je mozne vytvorit vlastnu rezidentnu RAM tabuIku, napriklad na poskytnutie kur- zivy v grafickom mode. Je rozlozenych 128 sad po 8 bajtov na sadu. Kazdy bajt predstavuje 8 horizontalnych bodov s prvym bajtom, ktory tvori horny riadok zna- ku atd. az po spodny riadok. Napriklad definicia znaku pre 'a' bude nasledovna: Ö7Â6Â5Â4Â3Â2Â1Â0· tabuIkovy_posun + 0: º þ þ þ þ º 01100110 binarne = 66 hex Í» tabuIkovy_posun + 1: º º 00000000 binarne = 00 hex º tabuIkovy_posun + 2: º þ þ þ þ º 00111100 binarne = 3c hex º tabuIkovy_posun + 3: º þ þ º 00000110 binarne = 06 hex ÌÍÍ» tabuIkovy_posun + 4: º þ þ þ þ þ º 00111110 binarne = 3e hex º º tabuIkovy_posun + 5: º þ þ þ þ º 01100110 binarne = 66 hex º º tabuIkovy_posun + 6: º þ þ þ þ þ þ º 00111111 binarne = 3f hex º º tabuIkovy_posun + 7: º º 00000000 binarne = 00 hex ͼ º ÓÄÁÄÁÄÁÄÁÄÁÄÁÄÁĽ º ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ º ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍ» 8 bajtova sekvencia: 66H,00H,3cH,06H,3eH,66H,3fH,00H sa objavi v tabuIke v 'tabuIkovom posune' pre znak 'a'. Kym hodnota ASCII znaku 'a'je 132, a tabuIka zacina na znaku 128,je to 4.sada 8 bajtov (posun 32 bajtov od zaciatku tabuIky). Poznamka: Dolnych 128 znakov je ulozenych v tabuIke ROM pocnuc od f000:fa6e. Toto nie je "dokumentovana" adresa, ale objavuje sa ako konstanta vo vsetkych verziach IBM ROM. Adresa tabuIky je pevne kodovana v kode INT 10H, takze je mozne pouzit vlastnu tabuIku pre dolnych 128 znakov (pokiaI nemame EGA, ktora nam umozni znovu predefinovat celu sadu znakov). ________________________________________________________________________________ strana: 119 Obrazove sluzby Popisuje INT 10H standardne obrazove sluzby ROM-BIOS. Dodatkove funkcie instalovane pomocou EGA BIOS, vid v sluzbach EGA BIOS. Informacie riadenia hardverovej urovne vid v V/V portoch EGA a V/V portoch CGA. AH Sluzba ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 00H nastavenie obrazoveho modu. Vymaz obrazovky, nastavenie premennych BIOS a inicializacia modu. Vstup: AL=mod AL Typ Format Farba Adapter Adr Monitor ÍÍÍ ÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍ ÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 0 text 40x25 16/8 (tien) CGA,EGA b800 zlozeny 1 text 40x25 16/8 CGA,EGA b800 zloz.,RGB,rozs. 2 text 80x25 16/8 (tien) CGA,EGA b800 zlozeny 3 text 80x25 16/8 CGA,EGA b800 zloz.,RGB,rozs. 4 grafika 320x200 4 CGA,EGA b800 zloz.,RGB,rozs. 5 grafika 320x200 4 (tien) CGA,EGA b800 zlozeny 6 grafika 640x200 2 CGA,EGA b800 zloz.,RGB,rozs. 7 text 80x25 3 (c/b/vyraz.) MA,EGA b000 TTL monochrom 0dH grafika 320x200 16 EGA A000 RGB,rozsireny 0eH grafika 640x200 16 EGA A000 RGB,rozsireny 0fH grafika 640x350 3 (c/b/vyraz.) EGA A000 rozs.,TTL Mono 10H grafika 640x350 4 alebo 16 EGA A000 rozsireny 8,9,0aH mody PCjr 0bH,0cH (rezervovane; vnutorne na EGA BIOS) Poznamka: Pomocou EGA a Jr je mozne pridat 80H do AL na iniciali- zaciu obrazoveho modu bez vymazania obrazovky. ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 01H nastavenie veIkosti/tvaru kurzora (textove mody). Kurzor, pokiaI je viditeI- ny, vzdy blika. Vstup: CH = startovaci riadok (0-1fH; 20H=bez kurzora) CL = koncovy riadok (0-1fH) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 02H nastavenie pozicie kurzora. Nastavenie 25. riadku, aby nebol kurzor viditeI- ny. Vstup: BH = obrazova strana DH,DL = riadok, stlpec (pociatok je nula) 03H citanie pozicie a veIkosti kurzora Vstup: BH = obrazova strana Vystup: DH,DL = aktualny riadok, stlpec kurzora CH,CL = aktualny startovaci, koncovy riadok kurzora (vid Fn 01H) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 04H citanie svetelnym perom Vstup: ziadny Vystup: AH = spustenie (0=nespusteny;1=vratene platne hodnoty svetelneho pera DH,DL = riadok, stlpec znaku (textove mody) BX = stlpec obrazoveho prvku (graficke mody) CH = riadok obrazoveho prvku (pre graficke mody EGA vratene do CX) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß strana: 120 ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 05H vyber strany aktivneho zobrazenia Vstup: AL = cislo strany na vyber (vacsina softveru ho opusta na strane 0) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 06H pretacanie okna nahor (alebo vymaz okna). Pretacanie jednej alebo viacerych ciar obdlznika. Vstup: CH,CL = riadok, stlpec horneho Iaveho rohu okna (pociatok je 0) DH,DL = riadok, stlpec dolneho praveho rohu okna AL = pocet prazdnych riadkov na pretacanie (0=prazdne cele okno) BH = obrazove atributy pouzite u prazdnych riadkov ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 07H pretacanie okna nadol (pohyb prazdneho riadku z vrchu casti oblznika) Vstup: (to iste ako u Fn 06H) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 08H citanie znaku/atributu aktualnej pozicie kurzora Vstup: BH = cislo obrazovej strany Vystup: AL = precitany znak AH = precitany obrazovy atribut (len pre textove mody) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 09H zapis znaku/atributu aktualnej pozicie kurzora Vstup: BH = cislo obrazovej strany Vystup: AL = zapisany znak CX = pocet opakovani (pocet opakovanych zapisov znaku v AL) BL = obrazovy atribut (textove mody) alebo farba (graficke mody) (graficke mody: +80H znamena XOR bity znaku) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0aH zapis znaku aktualnej pozicie kurzora Vstup: BH = cislo obrazovej strany AL = zapisany znak CX = pocet opakovani (pocet opakovanych zapisov v znaku AL) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0bH nastavenie skaly/hranice farby (pouzit z CGA kompatibilnymi modmi) Vstup: BH = 0: (textove mody) vyber hranice farby BL = hranica farby (0-1fH; 10H-1fH vyber zvyraznenia) BH = 1: (graficke mody) vyber kombinacie skaly BL = 0: vyber zelenej/cervenej/hnedej BL = 1: vyber cyan/magenta/bielej ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0cH zapis bodu obrazoveho prvku grafiky (Poznamka: SubFn 0cH a 0dH su pri- Vstup: BX = cislo obrazovej strany lis pomale pre vacsinu grafic- DX,CX = riadok, stlpec kych operacii) AL = hodnota farby (+80H znamena XOR bod s vybranou farbou) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0dH citanie bodu obrazoveho prvku grafiky Vstup: BX = cislo obrazovej strany DX,CX = riadok, stlpec Vystup: AL = precitana hodnota farby ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß strana: 121 ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0eH zapis znaku na aktivnu obrazovku Vstup: AL = zapisovany znak (pouziva existujuci atribut zobrazenia) BL = farba popredia (pre graficke mody) ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 0fH citanie aktualneho obrazoveho modu Vstup: ziadny Vystup: AL = aktualny mod (vid Fn 00H) AH = pocet znakovych stlpcov na obrazovke BH = cislo aktualnej aktivnej strany zobrazenia ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 10H-12H Vid Sluzby EGA BIOS ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 13H zapis retazca ÝATÞ EGA zobrazuje retazec vybranej pozicie kurzora. Znaky 0dH (CarRet), 0aH (Line Feed), 08H (backspace) a 07H (Beep) su ose- trovane ako riadiace prikazy a nie su zobrazene. Vstup: ES:BP => zobrazeny retazec (zvlastny format pre AL=2 a AL=3) CX = dlzka retazca (iba pocet znakov) DH,DL = riadok, stlpec startu zobrazenia BH = cislo strany AL = kod SubFn: 0 = pouzitie atributu v BL; kurzor nie je aktualizovany 1 = pouzitie atributu v BL; kurzor ostava na konci retazca 2 = format retazca: znak,atr.,znak,atr. ...;neaktualizuje kurzor 3 = format retazca: znak,atr.,znak,atr. ...;aktualizuje kurzor _______________________________________________________________________________ Sluzby EGA BIOS Tieto sluzby su ulozene na miesto pomocou ROM-sken pri instalacii dosky EGA. Suhrn o obrazovom mode pouziteIny pre EGA je v obrazovych sluzbach SubFn 00H. Informacie o priamom pristupe na dosku EGA zobrazuju charakteristicke vlastnos- ti V/V portov EGA. AH Sluzba ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 10H nastavenie registrov skaly pre EGA Vybera farby pouzivane pre dane atributy obrazovky. Standardne farby su tie iste ako u CGA (zoznam vid v atributoch obrazovky). Vstup: AL = 0: nastavenie jedneho registra skaly BL = nastaveny register (identifikacia 4 bitovej farby; 0-15) BH = nastavenie hodnoty (zobrazenie 6 bitovej rgbRGB farby) AL = 1: nastavenie registra prehIadavania (hranic). Poznamka: nie prilis veIke hranice. BH = nastavenie hodnoty AL = 2: nastavenie vsetkych registrov skaly a registra prehIadavania ES:BX => 17 bajtov (reg. prehIadavania za registrami skaly) AL = 3: vyber zvyraznenia alebo blikania BL = 0: umozni zvyraznenie pozadia (16 moznych pozadi) BL = 1: umozni blikanie (8 farieb pozadia+blikanie popredia) strana: 122 Hodnoty registra skaly pre SubFn 0,1 a 2: ÚÄ7ÄÂÄ6ÄÂÄ5ÄÂÄ4ÄÂÄ3ÄÂÄ2ÄÂÄ1ÄÂÄ0Ä¿ ³nevyuz.³ r g b/I R G B ³ (6 bitov = 64 moznych farieb) ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÒÄÁÄÄÄÁÄÄÄÁÄÄÄÙ º ÈÍÍ bit 3 funguje ako zvyraznenie v kompatibilnych modoch CGA ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 11H Funkcie generatora znakov EGA. Nuluje obrazove premenne bez zmeny aktual- nych hodnot v regeneracnej vyrovnavacej pamati (t.j.obrazovka nie je vymaza- na). Vstup: AL = 0: zavedenie uzivateIom definovaneho zobrazenia typu pisma tex- toveho modu ES:BP => uzivateIska tabuIka typu pisma CX = pocet vzoriek znaku na uchovanie DX = posun znaku (zavedenie typu pisma zacina na tejto hodno- te ASCII) BL = blok typu pisma na zavedenie (0-4;4 ak 256 kB pamati EGA BH = pocet bajtov na vzorku znaku (napr. 8 alebo 14) AL = 1: zavedenie typu pisma znaku ROM 8x14 BL = blok typu pisma na zavedenie (0-4) AL = 2: zavedenie typu pisma dvojbodoveho znaku ROM 8x8 BL = blok typu pisma na zavedenie (0-4) AL = 3: nastavenie specifikatora bloku (umoznuje 2 zo 4 sad 256 zna- kov). Druha sada 256 znakov je vybrana pomocou atributu bit 3 (inymi slovami, ak je zvolena "farba popredia" nad 7, EGA zo- brazi druhotny typ pisma). BL = volic bloku typu pisma (4 bity, 0-0fH) ÚÄ7ÄÂÄ6ÄÂÄ5ÄÂÄ4ÄÂÄ3ÄÂÄ2ÄÂÄ1ÄÂÄ0Ä¿ ³ nevyuzity ³ blok #³ blok #³ ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ ÈÍËͼ ÈÍÍÍÊÍÍÍ vybrane ak atr. bit 3=0 ÈÍÍÍÍÍÍÍÍÍÍÍÍÍ pouzite ak atr. bit 3=1 ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß SubFn 10H, 11H a 12H okrem strany 0 budu aktivne a mali by byt pou- zite priamo po vynulovani modu. Tieto prepocitaju riadky a stlpce a preprogramuju niekoIko registrov CRTC, vratane registrov kurzoru. AL = 10H: zavedenie uzivateIom definovaneho zobrazenia typu pisma textoveho modu (vid SubFn 00H). AL = 11H: zavedenie typu pisma znaku ROM 8x14 (vid SUbFn 01H) AL = 12H: zavedenie typu pisma dvojbodoveho znaku ROM 8x8 (vid SubFn 02H) ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß AL = 20H: nastavenie uzivateIskeho typu pisma znaku pre graf. mody. ES:BP => 2048 bajtova tabuIka sady znaku 8x8 pre INT 1fH AL = 21H: nastavenie uzivateIskeho typu pisma znaku pre graf. mody. ES:BP => tabuIka sady znaku 8x8 pre INT 44H CX = obrazove prvky (bajty na znak) BL = kod riadkov obrazovky 0 = urcene uzivateIom DL = riadky znakov na obrazovke 1 = 0eH (14 znakove riadky na obrazovke) 2 = 19H (25 znakove riadky na obrazovke) 3 = 2bH (43 znakove riadky na obrazovke) AL = 22H: nastavenie typu pisma znaku ROM 8x14 pre graficke mody BL = kod riadkov obrazovky (vid vyssie) strana: 123 AL = 23H: nastavenie typu pisma dvojbodoveho znaku pre graficke mody BL = kod riadkov obrazovky (vid vyssie) ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß AL = 30H: urcenie informacii EGA BH = kod poziadavky ukazovateIa tabuIky 0 = navrat ES:BP => aktualna adresa typu pisma grafiky INT 1fH 1 = navrat ES:BP => aktualna adresa typu pisma grafiky INT 44H 2 = navrat ES:BP => adresa tabuIky typu pisma ROM 8x14 3 = navrat ES:BP => adresa tabuIky dvojbodoveho typu pisma ROM 8x8 4 = navrat ES:BP => dvojbodova adresa ROM 8x8 (vrch) 5 = navrat ES:BP => adresa tabuIky zmien ROM 9x14 Vystup: CX = obrazove prvky typu pisma (bajty definicie typu pisma na znak) DL = riadky obrazovky ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 12H zvlastne funkcie EGA (zmena vyberu) Vstup: BL = 10H: navrat informacie EGA Vystup: BH = mod (0=farebny, 1=monochromaticky) BL = kod veIkosti pamati (0=64kB;1=128kB;2=192kB;3=256kB) CH = bity vlastnosti (hodnoty tychto nevyuzite v konekto- roch RCA) CL = nastavenie prepinacov (adapter/monitor prvotny/druhot) Vstup: BL = 20H: vyber zmeny programu tlace obrazovky (je potrebne sa zakaz- dym presvedcit, ze bola prevedena zmena cisla riadkov obra- zovky). ßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 13H zapis retazca ÝATÞ EGA. Zobrazi retazec vybranej pozicie kurzora. Znaky 0dH (CarRet), 0aH (LineFeed), 08H (bksp) a 07H (Beep) su osetrovane ako riadiace prikazy a nie su zobrazene. Vstup: ES:BP => retazec na zobrazenie (zvlastny format pre AL=2 a AL=3) CX = dlzka retazca (len pocet znakov) DH,DL = riadok, stlpec na spustenie zobrazenia BH = cislo strany AL = kod subfunkcie: 0 = pouzitie atributu v BL; neaktualizovany kurzor 1 = pouzitie atributu v BL; ponechanie kurzora na konci retazca 2 = format retazca: znak,atr., znak,atr.,...; neaktual. kurzor 3 = format retazca: znak,atr., znak,atr.,...; aktual. kurzor _______________________________________________________________________________ Nastavenie prepinacov EGA Prepinace DIP na zadnej strane EGA indikuju, ktory monitor je pripojeny k dos- ke a ktore ine adaptery (ak existuju) su v systeme sucasne. Prepinace su zachy- tene v pamati. Vid oblasti udajov EGA. Existuje jedna veImi kriticka vec, na ktoru treba davat pozor: nikdy nezapajat monochromaticky monitor IBM (typu TTL) k adapteru EGA, ak prepinace nie su na- stavene na jeho pripojenie. Zle nastavenie moze skutocne viest k fyzickemu zni- ceniu monitora! strana: 124 Nasledujuca tabuIka "prvotne" indikuje adapter/monitor,ktory je skor aktivovany, ak je pocitac zapnuty. "Druhotne" indikuje voliteIny druhy adapter/monitor, kto- ry mozno pripojit. ON Ö4Â3Â2Â1· Prvotne EGA pripojeny k farebnemu monitoru 40x25 ºß³Ü³Ü³ßº Druhotne MDA ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne EGA pripojeny k farebnemu monitoru 80x25 ºß³Ü³Ü³Üº Druhotne MDA ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne EGA pripojeny k farebnemu monitoru s rozs. (emulacia CGA) ºÜ³ß³ß³ßº Druhotne MDA ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne EGA pripojeny k farebnemu monitoru s rozs. (max.rozlis.) ºÜ³ß³ß³Üº Druhotne MDA ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne EGA pripojeny k monochromatickemu monitoru ºÜ³ß³Ü³ßº Druhotne CGA pripojeny k farebnemu monitoru 40x25 ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne EGA pripojeny k monochromatickemu monitoru ºÜ³ß³Ü³Üº Druhotne CGA pripojeny k farebnemu monitoru 80x25 ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne MDA ºß³ß³ß³ßº Druhotne EGA pripojeny k farebnemu monitoru 40x25 ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne MDA ºß³ß³ß³Üº Druhotne EGA pripojeny k farebnemu monitoru 80x25 ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne MDA ºß³ß³Ü³ßº Druhotne EGA pripojeny k farebnemu monitoru s rozs. (emulacia CGA) ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne MDA ºß³ß³Ü³Üº Druhotne EGA pripojeny k farebnemu monitoru s rozs. (max.rozlis.) ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne CGA pripojeny k farebnemu monitoru 40x25 ºß³Ü³ß³ßº Druhotne EGA pripojeny k monochromatickemu monitoru ÓÄÁÄÁÄÁĽ ON Ö4Â3Â2Â1· Prvotne CGA pripojeny k farebnemu monitoru 80x25 ºß³Ü³ß³Üº Druhotne EGA pripojeny k monochromatickemu monitoru ÓÄÁÄÁÄÁĽ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Prepojka EGA ³ Tri prepojky charakteristickych vlastnosti riadenia EGA na ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ doske. Prepojka/konektory su pouzite nasledovne: ÉP1Í» 1 ºÚù¿º Podporuje farebny monitor s rozsirenim (640x350 a moznost 16 farieb) 2 ºÀùÙº 3 º ù º ÈÍÍͼ strana: 125 ÉP1Í» 1 º ù º Podporuje iba farebny monitor (640x200 a moznost 16 farieb) 2 ºÚù¿º 3 ºÀùÙº ÈÍÍͼ P2 je konektor pre svetelne pero. ÉP3Í» 1 ºÚù¿º Nastavuje V/V porty EGA na 3xxH (normalne nastavenie) 2 ºÀùÙº 3 º ù º ÈÍÍͼ ÉP3Í» 1 º ù º Nastavuje V/V porty EGA na 2xxH Nepodporovane pomocou EGA BIOS 2 ºÚù¿º 3 ºÀùÙº ÈÍÍͼ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ V/V porty rozsireneho grafickeho adaptera Rozsireny graficky adapter je kompatibilny smerom nahor s CGA ak je nan pristup cez BIOS. EGA je oveIa zlozitejsi na urovni hardveru, ale nezahrnuje emulaciu mnohych registrov/operacii CGA. Vid V/V porty CGA. Tato tema zahrnuje zmeny EGA a rozsirenia V/V pouzitia CGA. Snad najvyznamnejsia zmena pre aplikacneho programatora je, ze nemusi kontrolo- vat spatny beh pri zapise na obrazovku. EGA v ziadnom pripade nepripusti exis- tenciu 'snezenia'. EGA #1 dekoduje porty 3c0H pomocou 3dfH EGA #2 dekoduje porty 2c0H pomocou 2dfH EGA moze generovat uroven prerusenia 2 (IRQ 2) pocas prehIadavania na zaciatku vertikalneho spatneho behu. IRQ 2 je vektorovany na INT 0aH. Ak pouzijeme toto prerusenie, je treba davat pozor, pretoze ÝATÞ pouziva IRQ 2 ako kaskadovu po- poziadavku pre celu triedu IRQ (IRQ 0 - IRQ 15). Technika osetrenia viacnasob- neho hardveroveho prerusenia pomocou toho isteho IRQ je obsiahnuta v AT Tech Ref 6183355 (Revidovane vydanie, marec 1986) Poznamka: BIOS uchovava obraz aktualnych hodnot portu CRTC a ine informacie o EGA v udajovych oblastiach EGA. Na vykonanie zmeny je potrebne precitat vhodne premenne, nastavit bit, vykonat OUT a uchovat novu hodnotu premennej. Port Popis ßßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 3c0H Zapis: adresa radica atributu (ATC) a udajovy port Vykonat IN a1,3daH ;(alebo IN 3baH) vynutenie adresneho modu OUT 3c0H,cis_reg;vyber reg. ATC (preklopenie do udaj.modu) OUT 3c0H,hodnota;uchovanie hodnoty v registri ATC Poznamka: bity 0-4: vyber registra ATC bit 5: 1= dostupny displej; 0=nastavenie registra strana: 126 Po vybere registra vykona sa dalsi OUT 3c0H, udaje su nasledovne: Reg ATC Popis udajov ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 00-0fH registre skaly: vyber farby pre tento atribut Ö7Â6Â5Â4Â3Â2Â1Â0· º ³r³g³b³R³G³Bº Poznamka: R,G,B su 2/3 intenzity ÓÄÁÄÁÒÁÒÁÒÁÒÁÒÁÒ½ bit r,g,b su 1/3 intenzity º º º º º ÈÍ 0: Modra º º º º ÈÍÍÍ 1: Zelena º º º ÈÍÍÍÍÍ 2: Cervena º º ÈÍÍÍÍÍÍÍ 3: modra' (tiez emulacia podciarknutia MDA) º ÈÍÍÍÍÍÍÍÍÍ 4: zelena' (tiez emulacia zvyraznenia CGA) ÈÍÍÍÍÍÍÍÍÍÍÍ 5: cervena' 10H riadenie modu Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ º ÓÄÁÄÁÄÁÄÁÒÁÒÁÒÁÒ½ bit º º º ÈÍ 0: 1=graficke mody, 0=text º º ÈÍÍÍ 1: 1=atributy MDA, 0=atributy farby º ÈÍÍÍÍÍ 2: 1=9. bod je 8. bod znaku ciary/poIa º 0=farbu pozadia pouzit ako 9. bod znaku ÈÍÍÍÍÍÍÍ 3: 1=povolenie blikania, 0=umoznuje 4 bity pozadia 11H vyber farby prehIadavania (obrys).To iste rgbRGB ako u reg.skaly 12H povolenie farebnych obrazcov Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ º ÓÄÁÄÁÄÁÄÁÄÁÄÁÄÁĽ bit È˼ ÈÍÍÍÍÍÊÍÍ 0-3: nastavenie bitov na povolenie fareb- º nych obrazcov 0-3 ÈÍÍÍÍÍÍÍÍÍÍÍ 4-5: obrazovy status na multiplex 00=R&B, 01=b&G, 10= r&g, 11=nevyuzite 13H horizontalne panoramovanie obrazoveho prvku Pocet bodov na posun udaja doIava. Bity 0-3 platne (0-0fH) 3c2H Zapis: rozne riadiace funkcie Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ ³ ³ º ÓÒÁÒÁÒÁÒÁÄÁÄÁÒÁÒ½ bit º º º º È˼ º ÈÍÍ 0: 1=vyber 3BxH (emulacia MDA); 0= vyber 3DxH (CGA) º º º º º ÈÍÍÍÍ 1: 1=povolenie RAM; 0=blokovanie RAM º º º º ÈÍÍÍÍÍÍÍ 2-3: hodiny: 00=14MHz; 01=16MHz; 10=externe; 11=inter. º º º ÈÍÍÍÍÍÍÍÍÍÍ 4: 1= vyber vystupu vlastnosti; 0=vnutorny vyber º º ÈÍÍÍÍÍÍÍÍÍÍÍÍ 5: strankovy bit pre parny/neparny mod º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 6: horizontalna polarita zpatneho behu:1=klad.,0=zapor. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 7: vertikalna polarita zpatneho behu:1=kladna,0=zapor. 3c4H Zapis: adresovy register radica 3c5H Zapis: udajovy register radica Vykonanie OUT 3c4H, cis_reg; potom OUT 3c5H, udaje strana: 127 Reg.rad Popis udajov ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 00 nulovanie radica bity 0-1 indikuju asynchronne/synchronne nulovanie 01 casovaci mod Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ º ÓÄÁÄÁÄÁÄÁÒÁÒÁÒÁÒ½ bit º º º ÈÍÍ 0: 1=8 bodov na znak; 0=9 bodov/znak º º ÈÍÍÍÍ 1: sirka pasma CRT: 1=nizka; 0=vysoka º ÈÍÍÍÍÍÍ 2: 1=posun kazdeho znaku;0=kazdy druhy ÈÍÍÍÍÍÍÍÍ 3: hodiny: 1=polovicne; 0=normalne 02 maska mapy: bity 0-3 povoIuju zapis do bitovych obrazcov 0-3 03 vyber mapy znaku: bity 0-1 vyberaju mapu B (pre bit atributu 3=0) bity 2-3 vyberaju mapu A (pre bit atributu 3=1) 04 pamatovy mod Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ º ÓÄÁÄÁÄÁÄÁÄÁÒÁÒÁÒ½ bit º º ÈÍÍ 0: 1=generator text. znakov; 0=grafika º ÈÍÍÍÍ 1: 1=EGA ram>64 kB; 0=64 kB ÈÍÍÍÍÍÍ 2: 1=sekvencny; 0=parny/neparny (ako CGA) 3caH Zapis: pozicia grafiky 2 (pre EGA musi byt 0) 3ccH Zapis: pozicia grafiky 1 (pre EGA musi byt 1) 3ceH Zapis: adresovy register grafiky 1 a 2 3cfH Zapis: udajovy register grafickeho radica Vykonanie OUT 3ceH, cis_reg; potom OUT 3cfH, udaje Reg.GDC Popis udajov ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 00 nastavenie/nulovanie. Bity 0-3 vyberaju obrazce pre zapisovy mod 00 01 povolenie nastavenia/nulovania 02 porovnanie farieb. Bity 0-3 vyberaju farbu pre citaci mod 01 03 rotacia udajov a vyber funkcie pre zapisovy mod 00 bity 0-2: nastavenie poctu rotacie pre zapisovy mod 00 3-4: vyber funkcie pre zapisovy mod 00 a 02 00=bez zmeny; 01=AND; 10OR; 11=XOR 04 vyber citania mapy. Bity 0-2 vyberaju cislo mapy pre zapisovy mod 00 05 register modu Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ ³ º ÓÄÁÄÁÒÁÒÁÒÁÒÁÄÁĽ bit º º º º ÈÍÊÍÍ 0-1: zapisovy mod 0-2 º º º ÈÍÍÍÍÍÍ 2: podmienka testu º º ÈÍÍÍÍÍÍÍÍ 3: citaci mod: 1=porovnanie farby,0=priamo º ÈÍÍÍÍÍÍÍÍÍÍ 4: 1=pouzitie parneho/neparneho adreso- º vania RAM ÈÍÍÍÍÍÍÍÍÍÍÍÍ 5: 1=pouzitie struktury stredne rozlisova- cej CGA (2-bity/pixel) strana: 128 06 rozne riadenie grafiky Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ º ÓÄÁÄÁÄÁÄÁÒÁÒÁÒÁÒ½ bit È˼ º ÈÍÍ 0: 1=grafika, 0=generovanie text. znakov º ÈÍÍÍÍ 1: 1=zmena neparnych map za parne ÈÍÍÍÍÍÍÍ 2: mapovanie pamati pre CPU 00=a000H (128 Kb); 01=a000H (64 Kb) 10=b000H (32 Kb MDA); 11=b800H(32 Kb CGA) 07 blokovanie maskovania farieb bity 0-3 blokuju obrazce pri logickom porovnavani v citacom mode 01 08 maska bitov. Bity 0-7 vyberaju vo vsetkych obrazcoch bity na maskovanie 3b4H alebo 3d4H adresa CRT radica 3b5H alebo 3d5H vnutorne registre CRT radica Poznamka: Bit 0 portu 3c0H vybera, ktory adresny par portu sa ma pouzit.(3bxH je normalne pre MDA;3dxH je normalne pre CGA). Vykona sa OUT 3x4H, cislo cic_reg; potom OUT 3x5H, udaje Reg.GDC Popis udajov ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ 00-11H vid tabuIku obrazovych parametrov a V/V porty CGA Vynimky: 02 zaciatok horizontalneho potlacenia zobrazovania (pocet znakov) 03 koniec horizontalneho potlacenia zobrazovania bity 0-4 su sirkou prazdnych znakov; bity 5-6 su povolenie natocenia 04 zaciatok horizontalneho spatneho behu (poloha znaku) 05 koniec horizontalneho spatneho behu Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ º ÓÒÁÄÁÄÁÄÁÄÁÄÁÄÁĽ bit º È˼ ÈÍÍÍÍÍÍÍÊÍÍ 0-4: sirka horizontalneho spatneho behu º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍ 5-6: 0-3 znakove hodiny spozdenia spatneho º behu ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 7: 1=zaciatok panoramovania na neparnej adrese; 0=na parnej 06 vertikalny sucet (riadkov obrazu) 07 bit 8 pre urcite CRTC registre Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ ³ ³ º ÓÄÁÄÁÒÁÒÁÒÁÒÁÒÁÒ½ bit º º º º º ÈÍÍ 0: vertikalny sucet (CRTC Reg 06) º º º º ÈÍÍÍÍ 1: povolenie konca vertikalneho zobra- º º º º zenia (CRTC Reg 12H) º º º ÈÍÍÍÍÍÍ 2: zaciatok vertikalneho spatneho behu º º º (CRTC Reg 10H) º º ÈÍÍÍÍÍÍÍÍ 3: zaciatok vertikalneho potlacenia zobra- º º zovania (CRTC Reg 15H) º ÈÍÍÍÍÍÍÍÍÍÍ 4: porovnanie riadkov (CRTC Reg 12H) ÈÍÍÍÍÍÍÍÍÍÍÍÍ 5: umiestnenie kurzora (CRTC Reg 12H) 08 skutocny stlpec obrazu prveho obrazoveho riadku po vertikalnom spatnom behu 10H Zapis: zaciatok vertikalneho spatneho behu 11H Zapis: koniec vertikalneho spatneho behu strana: 129 Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ º ÓÄÁÄÁÒÁÒÁÄÁÄÁÄÁĽ bit º º ÈÍÍÍÍÍÊÍÍ 0-3: sirka horizontalneho spatneho behu º º v obrazovom riadku º ÈÍÍÍÍÍÍÍÍÍÍ 4: 0=mazanie vertikalneho prerusenia ÈÍÍÍÍÍÍÍÍÍÍÍÍ 5: 0=povolenie vertikalneho prerusenia IRQ2 12H koniec vertikalneho zobrazenia (riadku obrazu) 13H nastavenie vertikalneho zobrazenia 14H umiestnenie podtrhnutia. Bity 1-5 su cislo obrazoveho riadku. 15H zaciatok vertikalneho potlacenia zobrazovania (riadok obrazu) 16H koniec vertikalneho potlacenia zobrazovania 17H riadenie modu Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ ³ ³ º ÓÒÁÒÁÒÁÒÁÒÁÒÁÒÁÒ½ bit º º º º º º º ÈÍÍ 0: 0=adr. kompatibilneho modu CGA grafiky º º º º º º ÈÍÍÍÍ 1: vyber pocitadla stlpcov obrazovky º º º º º ÈÍÍÍÍÍÍ 2: horizontalny spatny beh: 1=dvojite ver- º º º º º tikalne nulovanie º º º º ÈÍÍÍÍÍÍÍÍ 3: 1=pouzitie znakovych hodin /2 pre ob- º º º º novu slova º º º ÈÍÍÍÍÍÍÍÍÍÍ 4: 1=vnutenie vysokej impedancie na vystupe º º ÈÍÍÍÍÍÍÍÍÍÍÍÍ 5: adresa cyklickeho modu º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 6: 1=bajt adresneho modu; 0=slovny mod ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 7: 0=hardverovy restart; 1=normalne opera- cie 18H riadkove porovnavanie (obrazovych riadkov). Pouzivane pri ope- raciach delenia obrazovky. 3baH alebo 3daH Zapis: bity 0-1 riadia vystupy FC0 a FC1 Poznamka: Bit 0 portu 3c0H vybera,ktora adresa portu sa pouzije. Citanie: stavove bity su take ako pri MDA (port 3baH) alebo CGA (port 3daH) Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ º ÓÄÁÄÁÄÁÄÁÒÁÒÁÒÁÒ½ bit º º º ÈÍÍ 0: spatny beh. 1=zobrazenie je vo vertikalnom a hori- º º º zontalnom spatnom behu. º º ÈÍÍÍÍ 1: 1=svetelne pero je spustene; 0=je pripojene º ÈÍÍÍÍÍÍ 2: 1=prepinac svetelneho pera je otvoreny; 0=zatvoreny ÈÍÍÍÍÍÍÍÍ 3: 1=vyskytol sa impulz vertikalnej synchronizacie Poznamka: Pri EGA nepotrebujete pri pisani do video RAM synchronizaciu so spatnym behom. 3bdH alebo 3dbH Zapis: nulovanie zachytneho registra svetelneho pera. Kazdy OUT maze zachytny register. 3bcH alebo 3dcH Zapis: nastavenie zachytneho registra svetelneho pera. Kazdy OUT vybavuje zachytny register. ________________________________________________________________________________ Oblasti udajov EGA Tieto udajove premenne su definovane po instalacii EGA BIOS. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Rozlicne informacie EGA ³ Bajty na 0:0487 a 0:0488 su bity priznakov obsahu- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ juce informaciu, ktora sa tyka statusu EGA. Vacsi- nu z nich mozno ziskat pomocou INT 10H SubFn 12H. strana: 130 Ö7Â6Â5Â4Â3Â2Â1Â0· º ³RAM³ ³ ³ ³ ³ º 0:0487 ÄÄ rozlicne informacie EGA ÓÒÁÄÁÄÁÄÁÒÁÒÁÒÁÒ½ bit º È˼ º º º ÈÍ 0: 1=je povolena emulacia kurzora º º º º ÈÍÍÍ 1: 1=EGA je pripojeny k monochromatickemu displeju º º º ÈÍÍÍÍÍ 2: 1=cakanie na spatny beh; 0=zapis na obr. RAM hocikedy OK º º ÈÍÍÍÍÍÍÍ 3: 1=EGA nie je aktivny º ÈÍÍÍÍÍÍÍÍÍÍÍÍ 5-6: celkovy RAM EGA (00=64kB;01=128kB;10=192kB;11=246kB) ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 7: horny bit obrazoveho modu (1=obrazovka nie je vymazana) Ö7Â6Â5Â4Â3Â2Â1Â0· ºvlastn.³ DIP º 0:0488 ÄÄ "syn" rozlicnych informacii EGA ÓÄÁÄÁÄÁÄÁÄÁÄÁÄÁĽ bit ÈÍÍËÍͼ ÈÍÍÍÍÍÊÍ 0-3: nastavenie prepinacov DIP. º Vid nastavenie prepinacov EGA ÈÍÍÍÍÍÍÍÍÍÍÍÍ 4-7: bity vlasnosti. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³EGA SAVE_PTR (0:04a8) ³ 4-bajtovy ukazovateI na 0:04a8 bol nazvany ako ta- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ buIka SAVE_PTR ukazovateIov udajoveho bloku EGA. Je mozne menit tuto adresu na udavanie rozlicnych udajovych oblasti, v ktorych su definovane vlastne typy pisma a ine voliteIne udaje. Je beznou operaciou kopi- rovat aktualnu tabuIku a potom instalovat iba zmeny, ktore chceme previest. Je mozne uchovat zakaznicku tabuIku EGA v pamati na jej povolenie pri kazdej zmene modu. Posun VeIkost Obsah ÜÜÜÜÜ ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ¿ +0 4 ³ posun segment³ adresa tabuIky obrazovych parametrov EGA ÃÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄ´ +4 4 ³ posun segment³ adresa oblasti ochrany dynamickeho parametra ÃÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄ´ +8 4 ³ posun segment³ adresa pridavnej informacie typu pisma texto- ÃÄÄÄÁÄÄÄÅÄÄÄÁÄÄÄ´ veho modu +0cH 4 ³ posun segment³ adresa pridavnej informacie typu pisma grafic- ³ ³ keho modu ÃÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +10H 0cH ³ rezervovane pre adresy 3 2-slov³ rezervovane ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Obrazove parametre EGA ³ Toto musi existovat. Je povodne nastavene na udanie ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ tabuIky v ROM. TabuIka ma byt dlha 1472 bajtov po 64 bajtoch na kazdy z 23 (17H) roznych obrazovych modov pre EGA s 64kB. Mody 11H-12H su pre 350-riadkovu grafiku so 128kB + na doske. Mody 13H-17H su 350-riadkove verzie modov 0-3 pri pouziti z rozsirenym farebnym displejom. ZiaI struktura tejto tabuIky neexistuje. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Oblast ochrany dynamickeho parametra ³ Toto je voliteIne; ak je nastavene ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ na 0000:0000 nevyuziva sa. Inac uka- zuje na oblast pamati, kde EGA BIOS ulozi urcite hodnoty, ktore sa vyslu do V/V registrov portu len pre zapis. Struktura je nasledovna: strana: 131 Posun Velkost Obsah ÜÜÜÜÜ ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ +0 10H hodnoty bajtov pre registre skaly 16-tich farieb +10H 1 farba pre register prehIadavania (hranice) +11H 0efH rezervovane (tabuIka musi mat dlzku 100H) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Oblast typu pisma pridavneho textoveho modu ³ Toto je voliteIne; ak je nasta- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ vene na 0000:0000 nevyuziva sa. Inac ukazuje tabuIku udajov, ktore sa pouziju na generaciu znakov, ak vybrane textove mody su inicializovane. Tento vektor sa vyuzije pri nastavovani nezvy- klych exotickych typov pisma. Posun VeIkost Obsah ÜÜÜÜÜ ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ +0 1 pocet bajtov na znak v definicii typu pisma +1 1 blok RAM na zavedenie (0 pre normalne operacie) +2 2 pocet znakov na uchovanie (normalne vsetkych 256) +4 2 posun znaku (obycajne 0 na definovanie plneho typu pisma) +6 4 adresa dvojslova tabuIky typu pisma tabuIka typu pisma je sada 256 8- alebo 14-bajtovych skupin s jednou skupinou pre kazdy znak. Vid INT 1fH +0aH 1 zobraziteIne riadky na obrazovke (na ich vyobrazenie pomocou BIOS pouzit 0ffH) +0bH 1-? jeden alebo viac bajtov identifikujucich, ktore obrazove mody ho budu vyuzivat. Na konci zoznamu pouzit 0ffH. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Oblast typu pisma pridavneho grafickeho modu ³ Toto je voliteIne; ak je nasta- ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ vene na 0000:0000 ignoruje sa. Inac ukazuje tabuIku udajov, ktore budu pouzite pri generovani znakov vo vybra- nych grafickych modoch. Posun VeIkost Obsah ÜÜÜÜÜ ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ +0 1 pocet zobraziteInych riadkov na obrazovke +1 2 bajty na znak +3 4 adresa dvojslova tabuIky typu pisma. Vid INT 1fH. +7 1-? jeden alebo viac bajtov identifikujucich, ktore obrazove mody ho budu vyuzivat. Na konci zoznamu pouzit 0ffH. _______________________________________________________________________________ Prefix segmentu programu (PSP) Ak sa program zacne vykonavat, DS:0000 a ES:0000 udavaju zaciatok PSP programu. Informacia z PSP sa pouzije na analyzu nazvov suborov a volieb z prikazoveho riadku, udava koIko pamati je dostupnej, najde prostriedok atd. Posun VeIkost Obsah ÜÜÜÜÜ ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄ¿ +0 2 ³INT 20H³ pri vystupe tu EXE programy mozu pouzit JMP alebo RET ÃÄÄÄÁÄÄÄ´ +2 2 ³ZacPam ³ zaciatok dostupnej pamati systemu v odstavcoch ÃÄÄÄÅÄÄÄÙ +4 1 ³ ³ (rezervovane) ÃÄÄÄ´ strana: 132 ÃÄÄÄÅÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿ +5 5 ³CALL posun segment ³ FAR CALL do dispecera funkcie DOS ÀÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÙ +6 ³ Dostup³ bajty dostupne v segmente progra- ÚÄÄÄÁÄÄÄÁÄÄÄÅÄÄÄÄÄÄÄ¿ mu (iba pre subory COM) +0aH 4 ³ posun segment ³ ukoncenie adresy. Vid INT 22H ÃÄÄÄÄÁÄÄÄÄÅÄÄÄÄÁÄÄÄÄ´ +0eH 4 ³ posun segment ³ adresa manipulatora Ctrl-Break. ³ ³ Vid INT 23H ÃÄÄÄÄÁÄÄÄÄÅÄÄÄÄÁÄÄÄÄ´ +12H 4 ³ posun segment ³ adresa manipulatora kritickej ³ ³ chyby. Vid INT 24H ÃÄÄÄÄÁÄÄÄÄÅÄÄÄÄÁÄÄÄÄÁ Ä ÄÄÄÄÄ¿ +16H 16H ³ oblast rezervovana DOS ³ ÃÄÄÄÄÁÄÄÄÄÅÄÄÄÄÁÄÄÄÄÁ Ä ÄÁÄÄÄÙ +2cH 2 ³ ProSeg ³ adresa segmentu prostriedku DOS ÃÄÄÄÄÁÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ Ä ÄÄÄÄÄ¿ +2eH 2eH ³ oblast rezervovana DOS ³ ÃÄÄÄÄÁÄÄÄÄÅÄÄÄÄÁÄÄÄÄÁ Ä ÄÁÄÄÄ´ +5cH 10H ³ oblast form parametra 1 ³ nastavenie FCB pre prvy parameter ³ ³ prikazu ÃÄÄÄÄÁÄÄÄÄÅÄÄÄÄÁÄÄÄÄÁ Ä ÄÁÄÄÄ´ +6cH 14H ³ oblast form parametra 2 ³ nastavenie FCB pre druhy parame- ³ ³ ter prikazu ÃÄÄÄÄÅÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁ Ä ÄÁÄÄÄÙ +80H 1 ³dlz ³ pocet znakov v UPA pre 81H ÃÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Ä ÄÄÄÄÄ¿ tiez posun standardneho DTA +81H 7fH ³ oblast neform parametra ³ znaky z prikazoveho riadku DOS ÀÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁ Ä ÄÁÄÄÄÙ (okrem direktivy presmerovania) 100H veIkost prefixu segmentu pogramu Zoznam riadiacich blokov Struktura zahlavia suboru EXE Standardne subory formatu EXE zacinaju takymto zahlavim. Posun VeIkost Obsah ÜÜÜÜÜ ÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÚÄÄÄÄÄÄÄ¿ +0 2 ³4Dh 5aH³ priznak suboru .EXE ('MZ') ÃÄÄÄÁÄÄÄ´ +2 2 ³CiasStr³ dlzka casti strany na konci (obycajne ignorovana) ÃÄÄÄÁÄÄÄ´ +4 2 ³DlzStr ³ dlzka obrazu na 512-bajtovych stranach, vratane zahl. ÃÄÄÄÁÄÄÄ´ +6 2 ³PocPre ³ pocet poloziek v tabuIke premiestnenia ÃÄÄÄÁÄÄÄ´ +8 2 ³VeIZahl³ veIkost zahlavia v 16-bajtovych odstavcoch ÃÄÄÄÁÄÄÄ´ +0aH 2 ³MinPam ³ min.pamati potrebnej na konci programu (v odstavcoch) ÃÄÄÄÁÄÄÄ´ +0cH 2 ³MaxPam ³ max.pamati potrebnej na konci programu (v odstavcoch) ÃÄÄÄÁÄÄÄ´ +0eH 2 ³PreSeg ³ posun segmentu vyrovnavacej pamati (na nastavenie SS) ÃÄÄÄÁÄÄÄ´ +10H 2 ³ExeSP ³ hodnota registra SP (ukazovateIa zasobnika) pri starte ÀÄÄÄÁÄÄÄÙ strana: 133 ÃÄÄÄÁÄÄÄ´ +12H 2 ³KontSuc³ subor kontrolneho suctu (zaporny sucet slov suboru) ÃÄÄÄÁÄÄÄ´ +14H 2 ³ExeIP ³ hodnota registra IP (ukazovateI instrukcii) pri starte ÃÄÄÄÁÄÄÄ´ +16H 2 ³PreCS ³ posunutie segmentu kodu (pre nastavenie CS) ÃÄÄÄÁÄÄÄ´ +18H 2 ³PreSub ³ posun suboru prvej polozky premiestnenia (casto 001cH) ÃÄÄÄÁÄÄÄ´ +1aH 2 ³CisPre ³ cislo prekrytia (0 pre zakladny modul) ÀÄÄÄÁÄÄÄÙ 1cH veIkost formatovanej casti zahlavia EXE ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂ Ä Ä ÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ¿ TabuIka premiestnenia. + ? 4*? ³posun segment ³ ³ posun segment³ Zacina pri posune su- ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁ Ä Ä ÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙ boru [EXE+18H]. Ma 4-bajtove vstupy [EXE+6]. + ? ? vypln do hranic odstavca + ? ? spustenie programu ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Kedze subor EXE moze byt zavedeny do IubovoIneho segmentu, vsetky odkazy abso- lutnych segmentov (ako FAR CALL, ukazovateI dlhej adresy a odkazy ako MOV AX, data_seg) musia byt nastavene na pracu v pamatovom mieste, do ktoreho sa zavedie.Na zavedenie suboru EXE je uvedeny postup zavadzacieho programu DOS ( Fn 4bH ) nasledovny: 1. vytvorenie PSP pomocou Fn 26H DOS 2. precitanie 1cH bajtov zo suboru EXE do oblasti pamatovych miest (formatovana cast zahlavia EXE) 3. urcenie veIkosti zavadzacieho modulu = ((DlzStr*512)-(VeIZahl*16)) - CiasStr 4. urcenie posunu suboru zavadzacieho modulu = (VeIZahl*16) 5. vyber adresy segmentu, START_SEG, pre zavedenie (obycajne PSP + 10H) 6. nacitanie zavadzacieho modulu do pamati pocnuc od START_SEG:0000 7. LSEEK (nastavenie ukazovateIa suboru) na zaciatok tabuIky premiestnenia (PreSub) 8. pre kazdu polozku premiestnenia (PocPre): a. nacitanie polozky ako dve 16-bitove slova (I_OFF, I_SEG) b. pridanie RELO_SEG=(START_SEG+I_SEG) (najdenie adresy odkazu pre- miestnenia) c. vyber slova na RELO_SEG:I_OFF (citanie aktualnej hodnoty) d. pridanie START_SEG k tomuto slovu (previest osetrenie segmentu) e. ulozit sucet spat na jeho povodnu adresu (RELO_SEG:I_OFF) 9. rozdelit pamat pre program podIa MaxPam a MinPam strana: 134 10.zinicializovat registre a previest program: a. ES = DS = PSP b. nastavenie AX na indikaciu platnosti identifikatorov jednotky v prikazo- vom riadku c. SS = START_SEG+PreSeg, SP = ExeSP d. CS = START_SEG+PreCS, IP = ExeIP (pouzi:PUSH seg; PUSH offset; RETF) Poznamka: Uvedene dodatky k formatu EXE osobitne verzie "prehIad kodov" a "okna" suboru EXE obsahuju pridavne informacie ulozene v prevadzky- schopnom subore. Tieto dodatky nie su obsiahnute v tejto verzii TECH Help! V/V porty Tato podrobna informacia bola cerpana z roznych zdrojov a moze alebo nemusi byt kompletna alebo uplne presna. Poznamka: Vsetky priklady IN a OUT su pre 8-bitove V/V (Napr.: OUT 70H,0 v skutocnosti znamena MOV al,0; OUT 70H,al) Port Popis ßßßß ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß 000H-01fH Radic DMA (priamy pristup do pamati) Vid porty DMA 020H-03fH Radic preruseni 060H PC/XT PPI port A. Citanie sken-kodu klavesnice: IN al,60H ;vyvolava posledny sken-kod. Vid INT 09H a sken-kod Udajovy refister klavesnice ÝATÞ. Vid klavesnica AT 061H PC/XT PPI (programovateIny interfejs periferii) port B. Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³ ³ ³0³ ³ º ÓÒÁÒÁÒÁÒÁÒÁÄÁÒÁÒ½ bit º º º º º º ÈÍ 0: hradlo casovaca 2 (reproduktor) » º º º º º ÈÍÍÍ 1: udaje casovaca 2 ÍËÍÍÍÍÍÍÍÍÍÍÍÍÍͼ º º º º º ÈÍ OR 03H = reproduktor ON º º º º º AND 0fcH = reproduktor OFF º º º º º º º º º ÈÍÍÍÍÍÍÍ 3: 1=citanie hornych prepinacov; º º º º 0=citanie dolnych prepinacov (vid 62H) º º º ÈÍÍÍÍÍÍÍÍÍ 4: 0=povolenie kontroly parity RAM; 1=blokovanie º º ÈÍÍÍÍÍÍÍÍÍÍÍ 5: 0=povolenie kontroly V/V kanala º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍ 6: 0=pozdrzanie hodin klavesnice na nule ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 7: 0=povolenie klavesnice; 1=blokovanie klavesnice 062H PC/XT PPI port C. Ö7Â6Â5Â4Â3Â2Â1Â0· º ³ ³ ³0³zariad.º ÓÒÁÒÁÒÁÄÁÄÁÄÁÄÁĽ bit º º º ÈÍÍÍÍÍÊÍ 0-3: hodnoty DIP prepinacov Vid zoznam zariadeni º º ÈÍÍÍÍÍÍÍÍÍÍÍ 5: 1=kanalovy vystup casovaca 2 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍ 6: 1=kontrola V/V kanala ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 7: 1=objavila sa chyba kontroly parity RAM strana: 135 063H PC/XT PPI register prikazov/modu. Vybera, ktore PPI porty su vstupne alebo vystupne. BIOS nastavuje na 99H (porty A a C vstupne, B vystupny). 064H Register prikazov klavesnice ÝATÞ. Tento port komunikuje s 8042, ktory pracuje ako cipovy riadiaci program pre klavesnicu. Prijima kody prikazov a udajove bajty. Podrobnejsie o prikazoch a programovani, Vid klavesnica AT 070H Register adries ÝATÞ (len zapis) pre hodiny realneho casu a CMOS RAM. 070H NMI maska ÝATÞ. Tento port sa pouziva na maskovanie nemaskovateIneho pre- rusenia. OUT s bitom 7=0 povoIuje NMI; s bitom 7=1 blokuje NMI: OUT 70H,2dH ; povolena NMI--2dH je "rezervovanou adresou" v pamati CMOS OUT 70H,0adH ; blokovanie NMI 080H Register stranok ÝATÞ pouzivany pocas POST na zhromazdovanie chyb. 081H-08fH Registre stranok DMA Vid porty DMA 0a0H NMI maska PC/XT. PovoIuje/blokuje nemaskovateIne prerusenie (chyba pa- rity RAM). OUT 0a0H,80H ; povoIuje NMI OUT 0a0H,0 ; blokuje NMI 0c0H-0dfH Pristup radica DMA ÝATÞ k 16-bitovemu DMA. Vid porty DMA 0f0H Vymaz zachytneho registra 80287 ÝATÞ. Stav 'Busy' je zachyteny vplyvom nemaskovanej chyby koprocesora 287. OUT 0f0H,0 ; mazanie zachytneho registra 0f1H Nastavenie stavu 80287 ÝATÞ. Koprocesor sa nastavuje z chraneneho modu do bezneho modu. OUT 0f1H,0 ; nastavuje 80287 do bezneho modu 0f8H-0fcH Udaje 80287 ÝATÞ. Procesor 286 posiela operacne kody a operandy a prijima vysledky. 170H-177H Radic pevneho disku #2 ÝATÞ. Vid porty pevneho disku AT 1f0H-1f7H Radic pevneho disku #1 ÝATÞ. Vid porty pevneho disku AT 210H Riadiaci port rozsirujuceho ramu XT. 213H Povolenie rozsirujuceho ramu XT. 214H Register udajovej zbernice rozsirujuceho ramu XT. 215H Register adries (horny bajt) rozsirujuceho ramu XT. 216H Register adries (dolny bajt) rozsirujuceho ramu XT. 278H-27fH Paralelny adapter tlaciarne #2. Vid porty tlaciarne 2f8H-2ffH Asynchronny komunikacny adapter COM2. Vid seriove porty 320H-32fH Radic pevneho disku XT. Vid porty pevneho disku XT 2c0H-2cfH Adapter rozsirenej grafiky (EGA) #2. Vid V/V porty EGA 378H-37fH Paralelny adapter tlaciarne #1. Vid porty tlaciarne strana: 136 3b4H-3baH Riadiace porty adaptera monochromatickeho monitora (MDA). Vid V/V porty CGA, kde je zhrnute pouzitie radica 6854 CRT. MDA ma niekoIko schopnosti presahujuce jednoduchy standardny zobra- zovaci mod radica 6854 CRT. 3bcH-3bdH Paralelna tlaciaren na MDPA. Vid porty tlaciarne 3c0H-3dfH Adapter rozsirenej grafiky (EGA). Vid V/V porty EGA 3d2H-3dcH Adapter farby/grafiky (CGA). Vid V/V porty CGA 3f0H-3f7H Radic pruznych diskov (FDC). Vid porty FDC 3f8H-3ffH Asynchronny komunikacny adapter #1 (RS-232 seriovy port COM1). Vid seriove porty ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ