Jak używać bezpośrednich rozkazów we/wy w C++Builder dla portu LPT?

Odp: LPT i C++Builder





Poprzedni Następny
Wiadomość
Spis treści
From: "Kumex" <kumex_at_nospam_interia.pl>
Subject: Odp: LPT i C++Builder
Date: Fri, 26 Oct 2001 10:59:09 +0200


Użytkownik bartek <cosgdzies_at_nospam_poczta.onet.pl> w wiadomości do grup
dyskusyjnych napisał:3bcae3be$1_at_nospam_news.vogel.pl...
No tak tylko jak nie wpisze komendy INT 17h, to ciekawe co ma ten byte
wypchac na port?
W przypadku, ktory opisujesz dane zostana przeslane do rejestrow i nic,
rownie
dobrze na tych samych danych moza wykonac cos innego.np. 10h - operacje
na
grafice,
ale jak nie wpiszesz 10h to nic sie niestanie...
Wg. mnie te "wieksze szanse" sa rowne zero.

A to znacie?
Wykorzystuje proste rozkazy we/wy procesora i powinno właściwie działać
wszędzie.
Poza tym powinno być też szybsze niż przez BIOS.

function PortIn(Port:Word):Byte;
// Pozwala na odczyt bajtu z portu o dowolnym adresie.
var Help:Byte;
begin
asm
mov DX ,Port
in AL ,DX
mov Help ,AL
end;
PortIn:=Help;
end;

procedure PortOut(Port:Word;Value:Byte);assembler;
// Pozwala na zapis do portu o dowolnym adresie.
asm
mov DX,Port
mov AL,Value
out DX,AL
end;

Pozdrawiam,
QmX.




Poprzedni Następny
Wiadomość
Spis treści
From: "Marek" <neticus_at_nospam_wp.pl>
Subject: Re: LPT i C++Builder
Date: Fri, 26 Oct 2001 12:37:35 +0200


A to znacie?
Wykorzystuje proste rozkazy we/wy procesora i powinno właściwie działać
wszędzie.

Wszedzie w DOSie, Windows95, 98 i ME. Ale w Windows 2000 i NT
mozna zapomnieć! Takie operacje wykonuje się tam tylko na poziomie Ring 0.
Trzeba użyć specjalnych driverów dostepu I/O , ktore mozna znalezc
np. w postacie freewarowych komponentow do Delphi i C++ Buildera,
albo oprogramowac to samemu, ale to juz wyzsza szkola jazdy, sorry za
autozlosliwosc, ale niedostepna dla nas prostych elektronikow :-)

Pozdrawiam,

Marek

PS W razie kloptow ze znalezieniem w/w komponentow prosze o kontakt
via lista dyskusyjna.




Poprzedni Następny
Wiadomość
Spis treści
From: "Kumex" <kumex_at_nospam_interia.pl>
Subject: Odp: LPT i C++Builder
Date: Mon, 29 Oct 2001 07:18:22 +0100


Użytkownik Marek <neticus_at_nospam_wp.pl> w wiadomości do grup dyskusyjnych napisał:9
rbecd$2ih$1_at_nospam_news.tpi.pl...

Wszedzie w DOSie, Windows95, 98 i ME. Ale w Windows 2000 i NT
mozna zapomnieć! Takie operacje wykonuje się tam tylko na poziomie Ring 0.
Trzeba użyć specjalnych driverów dostepu I/O , ktore mozna znalezc
np. w postacie freewarowych komponentow do Delphi i C++ Buildera,
albo oprogramowac to samemu, ale to juz wyzsza szkola jazdy, sorry za
autozlosliwosc, ale niedostepna dla nas prostych elektronikow :-)

No i to mnie martwi, bo moja prosta elektryczna głowa pomyślała, że jak waln
ę coś takiego w żywym asemblerze, to mi żaden system tego nie zablokuje. Nie
znam się na szczegółach programowania w systemach typu NT, ale jak, do ciężk
iej anielki, system potrafi zablokować wykonanie rozkazów przez procesor? De
buguje je w locie, czy co?

QmX.




Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Lewandowski" <locust_at_nospam_poczta.onet.pl>
Subject: Re: LPT i C++Builder
Date: Mon, 29 Oct 2001 14:10:18 +0100


Użytkownik "Kumex" <kumex_at_nospam_interia.pl> napisał w wiadomości
news:9rish8$ovc$1_at_nospam_korweta.task.gda.pl...
Użytkownik Marek <neticus_at_nospam_wp.pl> w wiadomości do grup dyskusyjnych
napisał:9
rbecd$2ih$1_at_nospam_news.tpi.pl...

Wszedzie w DOSie, Windows95, 98 i ME. Ale w Windows 2000 i NT
mozna zapomnieć! Takie operacje wykonuje się tam tylko na poziomie Ring
0.
Trzeba użyć specjalnych driverów dostepu I/O , ktore mozna znalezc
np. w postacie freewarowych komponentow do Delphi i C++ Buildera,
albo oprogramowac to samemu, ale to juz wyzsza szkola jazdy, sorry za
autozlosliwosc, ale niedostepna dla nas prostych elektronikow :-)

No i to mnie martwi, bo moja prosta elektryczna głowa pomyślała, że jak
waln
ę coś takiego w żywym asemblerze, to mi żaden system tego nie zablokuje.
Nie
znam się na szczegółach programowania w systemach typu NT, ale jak, do
ciężk
iej anielki, system potrafi zablokować wykonanie rozkazów przez procesor?
De
buguje je w locie, czy co?

coś w rodzaju. to jest już wbudowane w procesor. One są trochę teraz
bardziej skomplikowane od AT89C2051 ;-)

--
Marek Lewandowski ICQ UIN: 10139051
locust_at_nospam_poczta.onet.pl
http://locust.republika.pl




Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: LPT i C++Builder
Date: Mon, 29 Oct 2001 22:57:06 GMT


On Mon, 29 Oct 2001 07:18:22 +0100, Kumex wrote:
No i to mnie martwi, bo moja prosta elektryczna głowa pomyślała, że jak waln
ę coś takiego w żywym asemblerze, to mi żaden system tego nie zablokuje. Nie
znam się na szczegółach programowania w systemach typu NT, ale jak, do ciężk
iej anielki, system potrafi zablokować wykonanie rozkazów przez procesor? De
buguje je w locie, czy co?

Prawie. Po prostu te procesorki same sprawdzaja czy im wolno wykonac
operacje. Wystarczy ustawic ze nie wolno :-)


J.


Poprzedni Następny
Wiadomość
Spis treści
From: "Jerry" <jerry1111_at_nospam_wp.pl>
Subject: Re: LPT i C++Builder
Date: Fri, 26 Oct 2001 12:31:17 +0200


A to znacie?
Wykorzystuje proste rozkazy we/wy procesora i powinno właściwie działać
wszędzie.
Poza tym powinno być też szybsze niż przez BIOS.


[ciach funkcje]


Pozdrawiam,
QmX.

Tak to dziala tylko pod win9x i dosem.
Nie zadzaiala w W2K, NT, tak samo jak pod linuchem, bo
OS kontroluje dostepy do portow (nie tylko do com i lpt,
ale do wszystkich).
Tam musisz uzyskac pozwolenie od OS na korzystanie z portu
(czyli inaczej mowiac 'otworzyc' port majac odpowiednie
uprawnienia) i potem korzystajac z funkcji API
dopiero mozesz go uzywac. Pod lin to modul do jajka, czy;i
da sie przezyc, a pod w2k to chyba jakies VxD brrrr ;))))
Albo poczytac o drukowaniu za pomoca API :)

jerry




Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl>
Subject: Re: LPT i C++Builder
Date: Sat, 27 Oct 2001 22:46:17 +0200


Kumex wrote:

A to znacie?
Wykorzystuje proste rozkazy we/wy procesora i powinno właściwie działać
wszędzie.
Poza tym powinno być też szybsze niż przez BIOS.

Tia... sprobuj odpalic to na NT-ku...
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Zostalismy sami, niecierpliwi mysliwi...

Poprzedni Następny
Wiadomość
Spis treści
From: "Kumex" <kumex_at_nospam_interia.pl>
Subject: Odp: LPT i C++Builder
Date: Tue, 30 Oct 2001 07:16:53 +0100


Użytkownik Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl> w wiadomości do grup
dyskusyjnych napisał:3BDB1D19.6AFF31BE_at_nospam_fidonet.org.pl...
Wykorzystuje proste rozkazy we/wy procesora i powinno właściwie działać
wszędzie.
Poza tym powinno być też szybsze niż przez BIOS.
Tia... sprobuj odpalic to na NT-ku...

Teraz juz wiem, ze sie nie da. :-(

QmX.