wie man merkt ist das ein Binäncode.
...genau - und damit kannst Du die Sache ziemlich vereinfachen. Du definierst eine Variable als Byte, setzt die Variable gleich PinA und setzt die ersten 4 Bits auf 0 (falls pinA.4 bis PinA.7 anderweitig besetzt sind). Damit hat Deine Variable genau den Wert, der auf den Ports A.0 bis A.3 in binärer Form anliegt. D.h. sind alle 4 Pins high, wäre die Variable 15, sind A.0, A.1 und A.3 high wäre die Variable 11 usw - ganz ohne UND-Verknüpfung. Den Wert der Variablen kannst Du dann direkt via LCD ausgeben!

Als Code könnte das so aussehen:



Code:
$regfile = "m32def.dat" 
$framesize = 32 
$swstack = 32 
$hwstack = 32 
$crystal = 1000000 

Config LCD....
Dim Zahl as byte

Do

Zahl = Pina
Zahl = Zahl AND &B00001111
LCD Zahl

Loop
Die Geschichte mit "Zahl = Zahl AND &B00001111 setzt die bits 7-4 der Variablen Zahl auf 0 (x UND 0 ergibt immer 0), während sie die bits 3-0 unbeinflusst lässt (x UND 1 ergibt immer x).

Alles klar?

Daniel