Assembler - 6. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Assembler - 6. lekceAssembler - 6. lekce

 

Assembler - 6. lekce

Google       Google       14. 9. 2005       20 716×

• DPTR
..

Reklama
Reklama
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.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

2 názory  —  2 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v Assembleru, zajímá se o elektroniku a tunning PC.

Nové články

Obrázek ke článku Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

Dovozci baterií do mobilů či notebooků upouštějí od letecké přepravy zboží. V letošním roce plánují dovézt až 80 % produktů lodí. Přitom před 5 lety byla většina baterií do mobilních přístrojů dovezených do České republiky přepravována letadlem. Za proměnou způsobu transportu akumulátorů stojí zpřísnění pravidel pro leteckou přepravu, která přinášejí vyšší náklady i náročnou agendu.

Reklama
Reklama
Obrázek ke článku JIC otevírá největší digitální dílnu pro veřejnost v České republice

JIC otevírá největší digitální dílnu pro veřejnost v České republice

JIC otevírá první nonstop veřejně dostupnou digitální dílnu světového formátu s vybavením za 3 miliony korun. Dílnu může využívat po registraci kdokoliv. V  prostorách vzniknou prototypy produktů místních startupů, projekty kutilů a studentů i umělecká díla. Cílem dílny je zpřístupnit veřejnosti drahé přístroje a přitáhnout více podnikavých lidí k technickým oborům.

Obrázek ke článku Nový IT hráč na českém trhu

Nový IT hráč na českém trhu

V roce 2015 otevřela v Praze na Pankráci v budově City Tower své kanceláře společnost EPAM Systems (NYSE:EPAM), jejíž centrála se nachází v USA. Společnost byla založená v roce 1993 a od té doby prošla velkým vývojem a stále roste.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý