🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #15783

Statusport byte naar bits converteren.

#15783
From: RedX
Date: Wed, 16 Aug 2000 00:00
37 lines
2144 bytes
Ik zit al een tijd met dit probleem. ik lees een byte in van de Statuspoort
van LPT1 ( C: byte = inp(poortadres);    Pascal: byte := port[poortadres];)
 maar deze heeft andere waarden dan een byte ingelezen van een andere poort:
Er worden maar 5 bits gebruikt: 8,16,32,64 en 128. bits 8,16,32 en 64 zijn
geinverteerd: ze hebben een waarde van -8, -16, -32 en -64. bit 128 is
normaal. daarbij wordt er ook nog 127 bij de waarde van de byte geteld. Tot
nu toe heb ik alle de 4 geinverteerde bits kunnen "losmaken" van de byte.
als ik de 5de probeer geeft dit verkeerde resultaten.
Het algoritme dat ik hiervoor gebruik is: (in pseudo-code)

lees BYTE
BYTE - 127
absolute waarde van BYTE
BIT1 = (BYTE en 8) / 8
BIT2 = (BYTE en 16) / 16
BIT3 = (BYTE en 32) / 32
BIT4 = (BYTE en 64) / 64
BIT5 = (BYTE en 128) / 128

Dit werkt correct maar als ik een bit5 een 1 zou krijgen, geeft dit
verkeerde waarden.
Weet iemand een betere manier hiervoor?
Op deze manier kan ik maar 4 bits invoer gebruiken op LPT1.

RedX

--
----------------------------------------------------------------------------
------------
A man's greatest work is to break his enemies,
to drive them before him,
to take from them all the things that have been theirs,
to hear the weeping of those that cherished them,
to take their horses between his knees
and press in his arms the most desirable of their women.
----------------------------------------------------------------------------
------------
Technical Details
Message-ID: <8nekll$iv2$1@news.planetinternet.be>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,a3337484a0f4caf0,start
X-Google-Attributes: gidfcea4,public
From: "RedX" <RedX@mail.dma.be>
Subject: Statusport byte naar bits converteren.
Date: 2000/08/16
Message-ID: <8nekll$iv2$1@news.planetinternet.be>
X-Deja-AN: 659016350
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
X-Complaints-To: abuse@planetinternet.be
X-Trace: news.planetinternet.be 966448629 19426 212.239.130.157 (16 Aug 2000 17:57:09 GMT)
Organization: Planet Internet NV
X-MSMail-Priority: Normal
NNTP-Posting-Date: 16 Aug 2000 17:57:09 GMT
Newsgroups: be.comp.programming