🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #762

Re: szybkie czytanie z LPT

#762
From: Bogdan (bogdro)
Date: Tue, 17 Oct 2006 15:43
40 lines
2764 bytes
p.h. napisał(a):
> Witam!
> 
> Próbuję uzyskać maksymalną prędkość czytania portu LPT. Do portu mam
> podłączony analizator stanów logicznych - prosty bufor nie zapewniający
> żadnego handshakingu. Ze względu na częstotliwość sygnału, który muszę
> próbkować port LPT muszę czytać z prędkością min. 600kB/s. Jest to
> możliwe, gdyż program DigiTrace osiąga ok. 750kB/s na moim sprzęcie.
> Problem w tym, że nie mogę go użyć (zbiera za mało danych) i piszę swój
> własny program, który jednak osiąga jedynie 480kB/s w wersji ASM, zaś w
> wersjach napisanych w VB lub C tylko 280kB/s. Prędkości te są niezależne
> od wersji Windowsa (98 czy XP) oraz od użytego sterownika
> pośredniczącego - inpout32.dll czy allowio.
> 
> Zastanawiam się gdzie tkwi kruczek - jak czytać port LPT szybciej?

 Jeśli program nie musi być 32-bitowy, to napisz program 16-bitowy i
spróbuj tradycyjną 16-bitową metodą

	mov	dx, 378h
	in	al, dx

przed czytaniem sprawdzając dostępność danych.

 Ponadto, jeśli program ma krótką a często wykonywaną pętlę (jak np.
czytanie z portu), zminimalizuj w tej pętli ilość skoków wszelkiego
rodzaju (JMP, Jcc, CALL). Jeśli masz cos wyrzucić na ekran, to rób to
tylko raz na jakiś czas, nie po każdym przeczytanym bajcie. Tzn. niech
jedynym zadaniem pętli będzie czytanie danych z portu i zapisywanie
ich do pamięci.

 Ja osobiście nie znam przepustowości portu LPT (tzn. te 750 może
wynikać z buforowania na przykład). Upewnij się, że port działa w
trybie EPP lub ECP.

-- 
Pozdrawiam, Bogdan                                  (Linux i FreeDOS)
Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
Prawdziwy, bezpieczny komunikator:                   www.JabberPL.org
Technical Details
Message-ID: <eh2tt6$ogj$1@nemesis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <eh1v9c$act$1@news.task.gda.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: "Bogdan (bogdro)" <bogdan@bogdan.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: szybkie czytanie z LPT
Date: Tue, 17 Oct 2006 17:43:45 +0200
Organization: tp.internet - http://www.tpi.pl/
Lines: 40
Message-ID: <eh2tt6$ogj$1@nemesis.news.tpi.pl>
References: <eh1v9c$act$1@news.task.gda.pl>
NNTP-Posting-Host: acts110.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: nemesis.news.tpi.pl 1161100006 25107 83.11.72.110 (17 Oct 2006 15:46:46 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Tue, 17 Oct 2006 15:46:46 +0000 (UTC)
User-Agent: Thunderbird 1.5.0.7 (X11/20060909)
In-Reply-To: <eh1v9c$act$1@news.task.gda.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit