Kod: Zaznacz cały
mov A, #<nr elementu>
mov DPTR, #tablica ;załaduj adres tablicy
movc A, @A+DPTR ;pobierz element tablicy
...
tablica:
DB <tutaj tablica z wieloma elementami>
Kod: Zaznacz cały
mov A, #<nr elementu>
mov DPTR, #tablica ;załaduj adres tablicy
movc A, @A+DPTR ;pobierz element tablicy
...
tablica:
DB <tutaj tablica z wieloma elementami>
Kod: Zaznacz cały
;parametry wejściowe
mov A, #<mniej znaczący bajt numeru elementu>
mov B, #<bardziej znaczący bajt numeru elementu>
mov DPTR, #tablica ;adres tablicy
add A, DPL ;dodaj offset mniej znaczącego bajtu elementu
mov DPL, A ;i zapisz go w młodszym bajcie rejestru DPTR
mov A, B ;teraz czas na bardziej znaczący bajt
addc A, DPH ;dodaj offset bardziej znaczącego bajtu elementu (uwzględniając ewentualne przepełnienie podczas liczenia mniej znaczącego bajtu)
mov DPH, A ;i zapisz go w starszym bajcie rejestru DPTR
movx A, @DPTR ;a teraz po prostu pobierz element z tablicy
...
tablica:
DB <tutaj tablica z wieloma elementami>
Do magistrali 16-bitowej?Do tego podpięć 128KB RAM i masz system cacy.