Noch 2 Möglichkeiten für 256 Byte lange Tabellen:
Code:
; 1. Möglichkeit

AnzTage
		movlw	HIGH(TblTage)	; PCLATH setzen
		movwf	PCLATH
		decf	 zMon,W		;     Monat - 1 nach W-Register
		addwf	PCL,W		; 1 ; PCL + Monat nach W
		btfsc	STATUS,C	; 2 ; ... kein Übertrag
		incf	 PCLATH		; 3 ; + 1 für 256-er-Grenze

		addlw	8		; 4 ; + 8 Befehle/Adressen
		btfsc	STATUS,C	; 5 ; ... kein Übertrag
		incf	 PCLATH		; 6 ; + 1 für 256-er-Grenze

		decf	 zMon,W		; 7 ; Monat - 1 nach W-Register
		addwf	PCL		; 8 ; PCL + Offset

TblTage
		retlw   31
		.....


; 2. Möglichkeit

AnzTage
		movlw	HIGH(TblTage)	; PCLATH setzen
		movwf	PCLATH
		decf	 zMon,W		; Monat - 1 nach W-Register
		call	 GetTage

		org	  0x??FF
GetTage
		movwf	PCL
TblTage
		retlw   31
		.....