; Ejemplo de acceso a tabla
; ...
; Supongamos que inicialmente WREG=3
rlncf WREG,W,0
; el valor en el acumulador se multiplica x2
; mediante un desplazamiento lógico a izquierdas
; ya que cada retlw ocupa 2 posiciones de memoria
; al final:-> (WREG=6)
call
tabla
; Llamamos a tabla y nos devuelve en W
; el contenido de la posición 3.
org 0x100
tabla
movff PCL,0
;antes de saltar hay que leer PCL e iniciar PCLATH:PCLATU
addwf PCL,F
; Sumamos PCL y W, el resultado a PCL-> PCL=PCL+6
retlw 0x00
; con lo que se salta a la posición
retlw 0x01
; indicada por W
retlw 0x01
retlw 0x02---
; PCL=PCL+6 Este (0x02) es el valor devuelto en WREG.
retlw 0x01
retlw 0x02
retlw 0x02
retlw 0x03
retlw 0x01
retlw 0x02
retlw 0x02
retlw 0x03
retlw 0x02
retlw 0x03
retlw 0x02
retlw 0x04