Thread View: pl.comp.lang.pascal
4 messages
4 total messages
Started by Piotr Bochaczyk
Wed, 16 Dec 1998 00:00
Kursor textowy i porty komunikacyjne
Author: Piotr Bochaczyk
Date: Wed, 16 Dec 1998 00:00
Date: Wed, 16 Dec 1998 00:00
97 lines
2855 bytes
2855 bytes
Te dwie procedurki rozwi�zuj� chyba problem ukrywania kursora tekstowego? Procedure KursorOff; Assembler; Asm MOV AH,01h MOV CH,10h MOV CL,00h INT 10H End; Procedure KursorOn; Assembler; Asm MOV AH,01h MOV CH,07h MOV CL,07h INT 10H End; Jak sprawdzi� jakie porty COM i LPT s� zainstalowane? Bardzo prosto! COM1BaseAdr:word absolute $0:0400; COM2BaseAdr:word absolute $0:0402; COM3BaseAdr:word absolute $0:0404; COM4BaseAdr:word absolute $0:0406; LPT1BaseAdr:word absolute $0:0408; LPT2BaseAdr:word absolute $0:040A; LPT3BaseAdr:word absolute $0:040C; LPT4BaseAdr:word absolute $0:040E; Wiadomo o co chodzi? W odpowiednich zmiennych znajduj� si� adresy Port�w dla poszczeg�lnych port�w. Jak tego u�ywa�? Poczytajcie w literaturze. W niektorych przypadkach lepiej bedzie uzyc typu pointer, ale to zalezy od zastosowania. Je�li kt�rego� z port�w brakuje, to zmienna nie jest okre�lona. Zwykle oznacza to warto�� 0:0, ale cz�ciej jest po prostu przypadkowy adres. Jak wobec tego zdoby� pewno��, �e dany adres jest prawdziwy? Ano odczytujemy zmienn� $0:0410, kt�rej zawarto�� wygl�da tak: bity 0 : =0 Brak stacji dysk�w 1 : =1 obecno�� kooprocesora 2-3 : Pami�� RAM p�yty g��wnej 16K; 32K; 64+K 4-5 : Aktywny tryb graficzny mo�liwa EGA (nie zawsze prawda, lepiej u�y� przerwania 10h) 40 kolumn kolor; 80 kolumn kolor; TTL Mono 6-7 : Ca�kowita liczba nap�d�w --- 1; 2; 3; 4 8 : Obecno�� DMA 9-11 : Porty RS232 0 brak; 1 1; ... 1 7 12 : =1 obecno�� karty GAME 13 : =1 obecno�� drukarki szeregowej (zwykle drukarka jest r�wnoleg�a) 14-15 : Zainstalowane drukarki brak; 1; 2; 3 Te informacje zwraca tak�e przerwanie 11h w rejestrze AX, np: Label IsHere,Quit; ... {Funkcja zwraca TRUE je�li w systemie jest obecny} {kooprocesor matematyczny, w przeciwnym przypadku zwraca FALSE} Function Check4MathCoopr:Boolean; Assembler; Far; Asm MOV @Result,00 INT 11h AND AX,0002h JNE IsHere JMP Quit :IsHere MOV @Result,01 :Quit NOP End; W Linux'ie nie dzia�a F9, wi�c pisz� z pami�ci. Wniosek - funkcja mo�e si� nie kompilowa�. Ale to ju� chyba nie jest problem. Nie pisz� komenta�y, bo chyba wszystko jest jasne. O obs�udze myszki w tekst�wce napisz� nast�pnym razem. __ Piotr ,,Neevor'' Bochaczyk ___ ___ __ ___ member of Team OS/2 Poland _ _ _ __ _ _ & Asu'a Programmers Group _ _ __ __ _ _ _ _ __ _ neevor@teamos2.org.pl ___ ___ __ ______ __ Uroda x Rozum = const
Re: Kursor textowy i porty komunikacyjne
Author: Artur Jedlinski
Date: Wed, 16 Dec 1998 00:00
Date: Wed, 16 Dec 1998 00:00
104 lines
3199 bytes
3199 bytes
Piotr Bochaczyk <piotrb@mops.uci.agh.edu.pl> wrote: : Te dwie procedurki rozwi�zuj� chyba problem ukrywania kursora : tekstowego? : Procedure KursorOff; Assembler; : Asm : MOV AH,01h : MOV CH,10h : MOV CL,00h : INT 10H : End; : Procedure KursorOn; Assembler; : Asm : MOV AH,01h : MOV CH,07h : MOV CL,07h : INT 10H : End; : Jak sprawdzi� jakie porty COM i LPT s� zainstalowane? Bardzo prosto! : COM1BaseAdr:word absolute $0:0400; : COM2BaseAdr:word absolute $0:0402; : COM3BaseAdr:word absolute $0:0404; : COM4BaseAdr:word absolute $0:0406; : LPT1BaseAdr:word absolute $0:0408; : LPT2BaseAdr:word absolute $0:040A; : LPT3BaseAdr:word absolute $0:040C; : LPT4BaseAdr:word absolute $0:040E; : Wiadomo o co chodzi? W odpowiednich zmiennych znajduj� si� adresy Port�w : dla poszczeg�lnych port�w. Jak tego u�ywa�? Poczytajcie w literaturze. W : niektorych przypadkach lepiej bedzie uzyc typu pointer, ale to zalezy od : zastosowania. : Je�li kt�rego� z port�w brakuje, to zmienna nie jest okre�lona. Zwykle : oznacza to warto�� 0:0, ale cz�ciej jest po prostu przypadkowy adres. : Jak wobec tego zdoby� pewno��, �e dany adres jest prawdziwy? Ano : odczytujemy zmienn� $0:0410, kt�rej zawarto�� wygl�da tak: : bity : 0 : =0 Brak stacji dysk�w : 1 : =1 obecno�� kooprocesora : 2-3 : Pami�� RAM p�yty g��wnej : 16K; 32K; 64+K : 4-5 : Aktywny tryb graficzny : mo�liwa EGA (nie zawsze prawda, lepiej u�y� przerwania : 10h) : 40 kolumn kolor; 80 kolumn kolor; TTL Mono : 6-7 : Ca�kowita liczba nap�d�w : --- 1; 2; 3; 4 : 8 : Obecno�� DMA : 9-11 : Porty RS232 : 0 brak; 1 1; ... 1 7 : 12 : =1 obecno�� karty GAME : 13 : =1 obecno�� drukarki szeregowej (zwykle drukarka jest : r�wnoleg�a) : 14-15 : Zainstalowane drukarki : brak; 1; 2; 3 : Te informacje zwraca tak�e przerwanie 11h w rejestrze AX, np: : Label IsHere,Quit; : ... : {Funkcja zwraca TRUE je�li w systemie jest obecny} : {kooprocesor matematyczny, w przeciwnym przypadku zwraca FALSE} : Function Check4MathCoopr:Boolean; Assembler; Far; : Asm : MOV @Result,00 : INT 11h : AND AX,0002h : JNE IsHere : JMP Quit : :IsHere : MOV @Result,01 : :Quit : NOP : End; : W Linux'ie nie dzia�a F9, wi�c pisz� z pami�ci. Wniosek - funkcja : mo�e si� nie kompilowa�. Ale to ju� chyba nie jest problem. Nie pisz� : komenta�y, bo chyba wszystko jest jasne. : O obs�udze myszki w tekst�wce napisz� nast�pnym razem. : __ Piotr ,,Neevor'' Bochaczyk : ___ ___ __ ___ member of Team OS/2 Poland : _ _ _ __ _ _ & Asu'a Programmers Group : _ _ __ __ _ : _ _ _ __ _ neevor@teamos2.org.pl : ___ ___ __ ______ : __ Uroda x Rozum = const -- Nataniel <nataniel@rpg.pl> editor of "Nowe WIZJE" "Co to za czasy, ze byle chlystek moze mowic NI do starej kobiety"
Re: Kursor textowy i porty komunikacyjne
Author: Piotr Bochaczyk
Date: Wed, 16 Dec 1998 00:00
Date: Wed, 16 Dec 1998 00:00
21 lines
686 bytes
686 bytes
Artur Jedlinski wrote: > > Piotr Bochaczyk <piotrb@mops.uci.agh.edu.pl> wrote: > : Te dwie procedurki rozwi�zuj� chyba problem ukrywania kursora > : tekstowego? > > : Procedure KursorOff; Assembler; > : Asm <CIACH!> Nie rozumiem jednego. W jakim celu Pan Artur Jedlinski przyslal jeszcze raz CALEGO(!!!) mojego posta bez zadnego komentarza? -- __ Piotr ,,Neevor'' Bochaczyk ___ ___ __ ___ member of Team OS/2 Poland _ _ _ __ _ _ & Asu'a Programmers Group _ _ __ __ _ _ _ _ __ _ neevor@teamos2.org.pl ___ ___ __ ______ __ Uroda x Rozum = const
Re: Kursor textowy i porty komunikacyjne
Author: Artur Jedlinski
Date: Thu, 17 Dec 1998 00:00
Date: Thu, 17 Dec 1998 00:00
17 lines
662 bytes
662 bytes
Piotr Bochaczyk <piotrb@mops.uci.agh.edu.pl> wrote: : <CIACH!> : Nie rozumiem jednego. W jakim celu Pan Artur Jedlinski przyslal jeszcze : raz CALEGO(!!!) mojego posta bez zadnego komentarza <SPLAT> Suxx! Sorry wszystkim, przepraszam, naprawde nie wiem co sie zwalilo, ale wycialem praktycznie wszystko i napisalem pascalowa wersje obu procedur (tak dla scislosci, nie zeby assemblerowe byly zle). I gdzies to jak widze wcielo... Sam dopiero zauwazylem.. Jeszcze raz przepraszam, musialem cos nie tak wcisnac w ktoryms momencie :) Nataniel <nataniel@rpg.pl> editor of "Nowe WIZJE" "Co to za czasy, ze byle chlystek moze mowic NI do starej kobiety"
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads