Jste zde

Dekrementování pointeru DPTR

Některé mikroprocesory (například Winbond W77LE58) mají implementovánou novou instrukci DEC DPTR místonevyužitého kódu A5H. Exekuční doba je 2 procesorové cykly.

Tuto instrukci můžeme pro běžné procesory nahradit makrem a to dokonce dvěma způsoby:

A)

dec_dptr:
 inc DPL
 djnz DPL,dec_dptr2
 dec DPH
dec_dptr2:
 dec DPL


B)

dec_dptr:
 xch A,DPL
 jnz dec_dptr2
 dec DPH
dec_dptr2:
 dec A
 xch A,DPL

Obě mají 9 bytů kódu a exekuční čas 5 resp. 4 procesorové cykly.
 
 

Hodnocení článku: