
        mov     a, r0                   ;r0 = index (8 bit)
        add     a, r0                   ;index * 2
        mov     dptr, #table            ;table base
        jnc     m1
        inc     dph                     ;upper 128 values
m1:     mov     r0, a
        movc    a, @a+dptr              ;get high byte
        xch     a, r0
        inc     a
        movc    a, @a+dptr              ;get low byte
        mov     dpl, a
        mov     dph, r0
        ret

table:  dw      1, 5, 1234, 65534       ;table of 16 bit values
        dw      0, 255
