1 / 31

Inštrukcie pre prenos dát

Inštrukcie pre prenos dát. Všeobecný tvar : MOV X,Y Vždy 2 operandy X  Y Hodnota z druhého operandu sa zapíše do prvého operandu. Inštrukcie pre prenos dát. MOV @Ri,#data i=0; 1 @Ri - nepriame adresovanie pamäti dát. Na indexovanie pamäti sa môžu použiť len 2 registre R0 a R1

Download Presentation

Inštrukcie pre prenos dát

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. Inštrukcie pre prenos dát Všeobecný tvar : MOV X,Y Vždy 2 operandy X Y Hodnota z druhého operandu sa zapíše do prvého operandu

  2. Inštrukcie pre prenos dát MOV @Ri,#data i=0; 1 @Ri - nepriame adresovanie pamäti dát. Na indexovanie pamäti sa môžu použiť len 2 registre R0 a R1 data = 8-bitové číslo (0-255, 0-FF) Prakticky môže mať inštrukcia tvar: MOV @R1,#50 Číslo 50 sa presunie do vnútornej pamäti dát na takú adresu, aká je zapísaná v registri R1

  3. Inštrukcie pre prenos dát MOV A,Rr A Rr r = 0;1; 2; ... 7 Príklad: A=35 R5=150 -pred MOV A,R5 A=150 R5=150 -po Hodnota z registra R5 sa zapíše do akumulátora

  4. Inštrukcie pre prenos dát MOV Rr,A Rr A Príklad: R2= 10 A= 5 -pred MOV R2,A R2= 5 A= 5 -po Hodnota z akumulátora sa presunie do registra R2

  5. Inštrukcie pre prenos dát MOV A,data addr data addr- 8-bitová adresa vnútornej pamäti dát A  Vnútorná pamäť dát Príklad: MOV A,30 Číslo, ktoré je uložené vo vnútornej pamäti dát na adrese 30, sa zapíše do akumulátora.

  6. Inštrukcie pre prenos dát MOV data addr,A Vnútorná pamäť dát  A Príklad: MOV 40,A Obsah akumulátora sa zapíše do vnútornej pamäte dát na adresu 40. Adresa je udaná priamo.

  7. Inštrukcie pre prenos dát MOV @Ri,A Vnútorná pamäť dat  A Príklad: A= 30 R0= 15 na adrese 15 vo v.p.d= 45 MOV @R0,A A= 30 R0= 15 na adrese 15 vo v.p.d= 30 Hodnota z akumulátora sa presunie do pamäte dát na adresu, ktorá je zapísaná v registri R0

  8. Inštrukcie pre prenos dát MOV A,@Ri A  Vnútorná pamäť dát Príklad: A= 30 R0= 15 na adrese 15 vo v.p.d= 45 MOV A,@R0 A= 45 R0= 15 na adrese 15 vo v.p.d= 45 Do akumulátora sa zapíše hodnota z v.p.d. z adresy, ktorá je zapísaná v registri R0

  9. Inštrukcie pre prenos dát MOV A,#data A  dáta Príklad: A= 35 -pred MOV A,#70 A= 70 -po Do akumulátora sa uloží číslo 70

  10. Inštrukcie pre prenos dát MOV data addr,Rr Vnútorná pamäť dát  Rr Príklad: MOV 60,R4 Hodnota z registra R4 sa zapíše do v.p.d. na adresu 60.

  11. Inštrukcie pre prenos dát MOV Rr,data addr Rr  Vnútorná pamäť dát Príklad: MOV R3,120 Hodnota z v.p.d. na adrese 120 sa zapíše do registra R3.

  12. Inštrukcie pre prenos dát MOV Rr,#data Rr  dáta Príklad: MOV R2,#8 Číslo 8 sa zapíše do registra R2.

  13. Inštrukcie pre prenos dát MOV data addr,data addr Vnútorná pamäť dátV.p.d. Číslo z v.p.d. sa zapíše do v.p.d. na iné pamäťové miesto Príklad: MOV 10,15 Hodnota z v.p.d. na adrese 15 sa zapíše do v.p.d. na adresu 10.

  14. Inštrukcie pre prenos dát MOV data addr,@Ri Vnútorná pamäť dátV.p.d. Číslo z v.p.d. sa zapíše do v.p.d. na iné pamäťové miesto Príklad: MOV 50,@R1 Hodnota z v.p.d. na adrese, ktorá je uložená v registri R1 sa zapíše do v.p.d. na adresu 50.

  15. Inštrukcie pre prenos dát MOV @Ri,data addr Vnútorná pamäť dátV.p.d. Číslo z v.p.d. sa zapíše do v.p.d na iné pamäťové miesto Príklad: MOV @R0 ,70 Hodnota z v.p.d. na adrese 70 sa zapíše do v.p.d. na adresu, ktorá je uložená v registri R0

  16. Inštrukcie pre prenos dát MOV data addr,#data Vnútorná pamäť dát  dáta Číslo sa zapíše do v.p.d. Príklad: MOV 20,#70 Číslo 70 sa zapíše do v.p.d. na adresu 20.

  17. Inštrukcie pre prenos dát MOV C,bit addr bit addr - 8-bitová adresa bitu vo v.p.d. C - carry bit C bit z vnútornej bitovej pamäte dát Príklad: MOV C,50 Bit z vnútornej bitovej pamäte dát na adrese 50 sa zapíše do carry bitu.

  18. Inštrukcie pre prenos dát MOV bit addr,C bit vo vnút.bitovej pam. dát  C Príklad: MOV 30,C Carry bit sa zapíše do vnútornej bitovej pamäti dát na adresu 30

  19. Inštrukcie pre prenos dát MOV DPTR,#data 16 data 16- 16-bitové číslo DPTR - 16-bitový ukazovateľ dát (data pointer) DPTR  16-bitové číslo Príklad: MOV DPTR,#50000 Číslo 50000 sa zapíše do 16-bitového registra DPTR

  20. Inštrukcie pre prenos dát MOVC A,@A+DPTR A  pamäť programu Do akumulátora vloží hodnotu z pamätiprogramu, ktorej adresu získame ako súčet obsahu akumulátora a registra DPTR

  21. Inštrukcie pre prenos dát MOVC A,@A+PC PC- programový čítač (program counter) A  pamäť programu Do akumulátora vloží hodnotu zpamäti programu, ktorej adresu získame ako súčet obsahu akumulátora a registra PC

  22. Inštrukcie pre prenos dát MOVX A,@Ri A  vonkajšia pamäť dát Príklad: MOV A,@R1 Obsah z externej pam. dát z adresy zapísanej v registri R1 sa zapíše do akumulátora

  23. Inštrukcie pre prenos dát MOVX @Ri,A vonkajšia pamäť dát  A Príklad: MOVX @R0,A Hodnota z akumulátora sa zapíše do externej pam. dát na adresu zapísanú v registri R0 Pomocou týchto dvoch príkazov nemôžeme zapisovať do celej pamäti ale iba do 256 bytov čo je ¼ kB.

  24. Inštrukcie pre prenos dát MOVX A,@DPTR A externá pamäť dát Do akumulátora vloží hodnotu z externej pam. dát, ktorej adresa je uložená v 16-bitovom registri DPTR

  25. Inštrukcie pre prenos dát MOVX @DPTR,A externá pamäť dátA Obsah akumulátora vloží do externej pam. dát, ktorej adresa je uložená v 16-bitovom registri DPTR

  26. Inštrukcie pre prenos dát PUSH data addr Uloženie do zásobníka SP=SP+1 Príklad: PUSH 50 Najprv inkrementuje obsah ukazovateľa zásobníka SP a na takto získanú adresu v zásobníku umiestni obsah v.p.d. z adresy 50

  27. Inštrukcie pre prenos dát POP data addr Výber zo zásobníka SP=SP-1 Príklad: POP 30 Vyberie hodnotu zo zásobníka a uloží ju do v.p.d. na adresu 30. Obsah ukazovateľa zásobníka SP je dekrementovaný

  28. Inštrukcie pre prenos dát XCH A,Rr A ↔ Rr Príklad: A=40 R5=60 -pred XCH A,R5 A=60 R5=40 -po Vzájomne vymení hodnoty akumulátora a registra R5

  29. Inštrukcie pre prenos dát XCH A,data addr A ↔ vnútorná pamäť dát Príklad: A=20v.p.d. na adrese 30=40-pred XCH A,30 A=40v.p.d. na adrese 30=20-po Vzájomne vymení hodnoty akumulátora a hodnoty z v.p.d. na adrese 30

  30. Inštrukcie pre prenos dát XCH A,@Ri A ↔ vnútorná pamäť dát Príklad: XCH A,@R1 Vzájomne vymení hodnoty akumulátora a hodnoty z v.p.d. z adresy uloženej v registri R1

  31. Inštrukcie pre prenos dát XCHD A,@Ri A 0÷3↔číslo vo vnút. pamäti dát 0÷3 Príklad: XCHD A,@R0 Vzájomne vymení prvé 4 bity v akumulátore a čísla vo v.p.d., ktorého adresa je zapísaná v registri R0

More Related