Ich lass das mit den Konstanten sein, weil das mir dann doch zu aufwendig ist.

Aber ich hab eine Frage zu den "Bänken" die Du erwähnt hast. Im PIC16F84 Datenblatt steht:

01 = Bank 1 (80h - FFh)
00 = Bank 0 (00h - 7Fh)

In der Bank 1 werden doch die Ein- und Ausgänge festgelegt?

Kann ich in der Bank 0 und 1 jeweils 128 Register festlegen?

Ich brauch ca. 50 Register, also leg ich die am Besten in Bank 0 an. Dann brauch ich auch kein 9. Bit (IRP Bit).

Der Haken daran ist, dass das Register FSR (wie alle Register) nur 8 Bit lang ist, wärend wir bekanntlich im PIC mit 9-Bit Adressen arbeiten (2 bit zur Bankauswahl, 7 Bit zur Adressierung innerhalb der Bank). Der PIC ergänzt daher die 8 Bit (aus dem FSR) zu einer vollständigen Adresse, indem er davor das Bit IRP aus dem STATUS-Register setzt.

Will man auf Speicher in den Bänken 0 und 1 zugreifen muß also IRP gelöscht (=0) sein, will man dagegen auf die Bänke 2 und 3 zugreifen, muß man vorher IRP setzen (=1).