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

Assembler - 6. lekceAssembler - 6. lekce

 

Assembler - 6. lekce

Google       Google       14. 9. 2005       20 442×

• 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 RAD Studio a Windows Store

RAD Studio a Windows Store

RAD Studio je první vývojové prostředí se zabudovanou podporou balení aplikací typu Win32 a Win64 pro jejich umístění a šíření prostřednictvím Windows 10 Store.

Reklama
Reklama
Obrázek ke článku Testujte na 2 400+ Android a iOS zařízení

Testujte na 2 400+ Android a iOS zařízení

V dnešní době, kdy většina softwaru pro mobilní aplikace je tvořena a distribuována průběžně, mnohdy do celého světa je třeba zajistit také průběžnou automatizaci testování mobilního softwaru. V případě mobilních aplikací pro Android a iOS začíná být problém, jak testovat na obrovském množství kombinací HW variant, rozměrů, edic operačních systémů různých výrobců v různých částech světa na reálných zařízení. Simulátory a emulátory nejsou většinou to pravé. Pokud již testuji, jak si udělat vlastní beta distribuci opravdovým reálným testerům napříč platformami?

Obrázek ke článku Funkcie main vo Windows API

Funkcie main vo Windows API

V tretej časti seriálu o Windows API budeme hovoriť o funkčných prototypoch main. Funkčný prototyp je tvorený názvom funkcie a typom signatúry, pričom sa vynecháva telo funkcie. 

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ý