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 961×

• 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

Reklama
Reklama
Obrázek ke článku Blockchain & Bitcoin konference

Blockchain & Bitcoin konference

V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

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ý