× Aktuálně z oboru

Vychází Game Ready ovladače pro Far Cry 5 [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]
Celá zprávička [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]

Assembler - 6. lekce

[ http://programujte.com/profil/-1-martin-morawiec/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       14. 9. 2005       23 752×

• DPTR
..

DPTR - Data pointer

Je registr, který se skládá ze dvou bajtů DPH a DPL. Využívá se jako ukazatel do paměti ROM, do té se nejprve uloží hodnoty a pak už je jen „čteme“.
Takže když MOV DPTR,#13H, nastavíme ukazatel pak příkazem
MOVC A, @A+DPTR pošleme hodnotu, která je v paměti ROM na adrese 13H do akumulátoru - ten se nejprve musí vymazat !!! ( MOV A, #0 ).
Jelikož existuje instrukce INC DPTR, která zvýší hodnotu celého 16-ti bitového DPTR o 1, můžeme se pohybovat s ukazatelem po paměti a vybírat její obsah ve smyčce.
Lze jím třeba počítat počet smyček, nechávat si v něm hodnoty a podobně jako u jakéhokoli volně použitelného registru.
!!! Nezapomínejte však, že je to 16-ti bitový reg. tedy MOV DPTR, R2 NELZE !!!

Na místo toho můžete použít MOV DPH, R6 a MOV DPL, R5.



Příklad :
Umístění v ROM
0000 ORG 0
0000 SJMP START ;JE NUTNE PRESKOCIT TABULKU
0002
0002 TAB: DB 183, 221, 183, 22   ;TABULKA HODNOT
0006
0006 START: MOV R4,#4 ;NASTAVENI POCET HODNOT
0008 MOV DPTR, #TAB ;TO SAME JAKO MOV DPTR,#0002H
000B CYKL: MOV A,#0 ;VYNULOVANI AKUMULATORU
000D MOVC A,@A+DPTR ;PRESUNUTI HODNOTY
000E MOV P3,A ;VYSLANI HODNOTY NA P3
0010 INC DPTR ;NAVYSENI DPTR O 1
0011 DJNZ R4,CYKL
0013 END

--> všimněte si skoku z 0002 na 0006 => to protože tam jsou uloženy ty hodnoty.


THE END
Tak tady máme konec poslední lekce kurzu Assembleru, doufám, že jsem některým pomohl projít školní horor s názvem Assembler a některým možná otevřel nový rozhled.
Vždy když nám ve škole přibyl nějaký předmět, ptal jsem se sám sebe: "Na co mi to bude?.."
A aby vám tento kurz k něčemu byl, tak jsem se na základě ankety rozhodl vytvářet články s názvem Hardware pro AT89S8252.
Zde uplatníme naše programování do praxe. Byl bych rád kdybyste se aktivně zapojili a posílali mi náměty, co byste chtěli s tímto mikroprocesorem vytvářet, můžu pak celé zapojení navrhnout a vydat na tento web.
Mé kontaktní údaje jsou v sekci Redakce, nebo pište do poradny.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2005092704-assembler-6-lekce/ ].