1 / 18

Spôsoby adresovania v 8051

Spôsoby adresovania v 8051. Úvod. Na to, aby CPU mohla vykonávať príkazy, potrebuje dáta. Dáta sú uložené v pamäti (RAM alebo ROM), odkiaľ ich môžeme vyvolať. Na získavanie dát alebo ich uloženie existujú rôzne metódy zvané spôsoby adresovania. Spôsoby adresovania.

unity
Download Presentation

Spôsoby adresovania v 8051

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spôsoby adresovania v 8051

  2. Úvod • Na to, aby CPU mohla vykonávať príkazy, potrebuje dáta. • Dáta sú uložené v pamäti (RAM alebo ROM), odkiaľ ich môžeme vyvolať. • Na získavanie dát alebo ich uloženie existujú rôzne metódy zvané spôsoby adresovania

  3. Spôsoby adresovania • Priame adresovanie s registrom • Adresovanie s priamym operandom • Priame adresovanie • Nepriame adresovanie • Manipulácia s bitmi

  4. Inštrukcia MOV • Pre ukážku použitia adresovania použijeme inštrukciu MOV, ktorá slúži na presun dát a má nasledovnú syntax MOV cieľ, zdroj cieľ a zdroj sú miesta v pamäti alebo operandy

  5. Priame adresovanie s registrom • V príkaze ako je tento sú adresované iba registre, nie pamäte. Príkazový kód označuje osobitný register alebo registre, s ktorými pracujeme • Napr: Presuň obsah R0 do A: MOV A, R0 R0A • Príkaz zaberá iba 1 pamäťovú bunku.

  6. A MOV A,R0 27 R0 Priame adresovanie s registrom 27 CPU 27

  7. Adresovanie s priamym operandom • V príkaze ako je tento sú prenášané priame operandy (čísla) do registrov alebo pamäťových buniek • Napr: Presuň obsah R0 do A: MOV A, #55 55A • Príkaz zaberá 2 pamäťové bunky pri 8-bitovom priamom operande alebo 3 pamäťové bunky pri 16-bitovom operande.

  8. Adresovanie s priamym operandom • Priamy operand sa zapisuje so znakom mriežka (#) • Čísla sa dajú zapisovať ako desiatkové (55d), šestnástkové (5Ah), dvojkové (10111101b) alebo osmičkové (37o)

  9. A MOV A,#55 Adresovanie s priamym operandom 55 CPU 55

  10. Priame adresovanie • V priamom adresovaní musí byť označená pamäťová bunka obsahujúca dáta, keďže príkaz, ktorý bude vykonávaný, bude využívať dáta z tejto pamäťovej bunky • V 8051 je tento adresový mód využívaný iba v iRAM, čiže adresa označenej bunky je 1-byteové číslo

  11. Priame adresovanie • Napr: Presuň obsah pamäťovej bunky č.55 do A: MOV A, 55 (55)A • Príkaz zaberá 2 byte-y. • Pozn: Niektoré pamäťové bunky v RAM sú špeciálne registre alebo porty • Adresovanie eRAM alebo ROM nie je možné vykonať priamym adresovaním!

  12. A MOV A,55 56 D6 55 Priame adresovanie D6 CPU D6

  13. Nepriame adresovanie • V nepriamom adresovaní nie sú označené ani dáta, ani ich adresa, ale je použitý zvláštny register DPTR (data pointer – ukazovateľ dát) • Pred jeho použitím je naplnený adresou, na ktorú má ukazovať. • V príkaze, ktorý ho používa, sa požadované dáta nachádzajú na adrese označenej týmto registrom.

  14. Nepriame adresovanie • Napr: Presuň obsah pamäťovej bunky s adresou v DPTR do A: MOVX A, @DPTR ((DPTR))A • Príkaz MOVX slúži na prenos dát z externej pamäte

  15. Nepriame adresovanie • Pri nepriamom adresovaní je možné miesto DPTR využiť aj registre R0 a R1 pre adresovanie RAM (veľkosť RAM je 256B, teda nám na adresovanie postačí 8 bitový register) • Napr: Presuň obsah pamäťovej bunky s adresou v R0 do A: MOV A, @R0 ( (R0) )A

  16. A MOV A,@DPTR 56 D6 56 DPTR Nepriame adresovanie D6 CPU 56 D6

  17. Manipulácia s bitmi • V 8051 sa vo FREE RAM nachádza oblasť s adresami pre každý bit. • Adresovanie týchto bitov sa vykonáva prostredníctvom špeciálnych príkazov. • Napr: Nastav bit na adrese 91 na „1“: SETB 91 1(91)

  18. 91 SETB 91 Manipulácia s bitmi 1 CPU 1

More Related