При использовании табличного чтения из памяти программ надо всегда помнить, что располагать надо всегда в проеделах 256 байт.
Для контроля пересечения границы в 256 байт использую макрос
Код:
|
TSTPAGE macro LABEL
if (high LABEL != high ($-1))
ERROR LABEL - граница допустимой страницы
endif
endm
;Применение:
;
;G_TUNH MOVLW high G_TUNH ; ‹== (1)
; MOVWF PCLATH
; MOVF EDAT,W
; ADDWF PCL,F
; NOP ; 0
; RETLW H'0B' ; 1
; RETLW H'0C' ; 2
; RETLW H'0E' ; 3
; RETLW H'0F' ; 4
; RETLW H'10' ; 5
; TSTPAGE G_TUNH ;‹== (2) |