OK dann sind deine Schalter Mit VCC (HI) verbunden und schalten dieses Durch (oder eben nicht).

REM heist REMARK uns ist ein Kommentar (und alles bis ans Zeilenende)

Und In C kenn ich mich nicht aus.

Such mal nach dem Befehl SHIFT oder wié das gemacht wird.


PD5 -> 1, PD6 -> 2, PD7 -> 4, PB0 -> 8
Ich habs mal in Bascom realisiert (evtl. hilft es Dir):
Code:
$crystal = 8000000                      ' Oszillator mit 8MHz
$baud = 19200                           ' Seriell mit 19200, 8, N, 1, ohne Handshake
$regfile = "m32def.dat"                 ' Der benutzte Processor

$hwstack = 32                           ' default use 32 for the hardware stack
$swstack = 10                           ' default use 10 for the SW stack
$framesize = 40                         ' default use 40 for the frame space



Dim X As Byte
Dim Y As Byte
Dim Result As Byte


Config Portd = Input
Config Portb = Input


Hauptprogramm:                          ' void Main(void)
Do
   X = Portd And &B11100000             ' Port in Variable und Filtern
   Y = Portb And &B00000001             ' Port in Variable und Filtern

   Shift X , Right , 4                  ' Bits 4x nach rechts schieben

   Result = X Or Y                      ' Die beiden Veriablen vereinen
Loop

End
Klar könntest Du Dir auch eine Variable sparen, anstelle von Result könntest Du das Egebnis auch in X ablegen, das sieht dann so aus:

Code:
   X = X Or Y                         ' Die beiden Veriablen vereinen
PS Die Demo von Bascom kostet nichts und gibt unter http://www.mcselec.com