Ukazi za prenost podatkov so naslednjih tipov:
Ukaz LDDA
Ukazi za prenos podatkov podatkov ne prenesejo, ampak jih kopirajo (preslikajo) z ene lokacije na drugo. Ukazi LOAD jih preslikajo z neke pomnilniške lokacije v določen register, ukazi STORE pa iz registra na neko pomnilniško lokacijo. Ukazi imajo takojšnje (samo LOAD), neposredno, indeksno in razširjeno naslavljanje.
Ukazi vplivajo na statusni register CCR:
ukaz | strojna koda | šestnajstiško | opis |
---|---|---|---|
LDAA #$33 | 10000110 00110011 |
86 33 |
Vpiše v akumulator A vrednost 33(16). |
LDAA $33 | 10010110 00110011 |
96 33 |
Vpiše v akumulator A vrednost, ki se nahaja na lokaciji 33(16). |
LDAA $333 | 10110110 00000011 00110011 |
B6 03 33 |
Vpiše v akumulator A vrednost, ki se nahaja na lokaciji 333(16). | LDAA X,$3 | 10100110 00000011 |
A6 03 |
Vpiše v akumulator A vrednost, ki se nahaja na lokaciji, ki je za 3(16) večja od vrednosti indeksnega registra. |
LDS #3000 | 10001110 00001101 11011000 |
8E 0B B8 |
V kazalec sklada se vpiše vrednost 3000. |
LDS 200 | 10011110 11001000 |
9E C8 |
V kazalec sklada se vpiše vrednost, ki se nahaja na lokacijah 200 in 201. |
LDS 2000 | 11011110 00000111 11010000 |
BE 07 D0 |
V kazalec sklada se vpiše vrednost, ki se nahaja na lokacijah 2000 in 2001. |
LDS X,20 | 11001110 00010100 |
CE 14 |
V kazalec sklada se vpiše vrednost, ki se nahaja na lokacijah, ki sta za 20 in 21 večji od vrednosti indeksnega registra. |
STAB 33 | 11010111 00100001 |
D7 21 |
Na lokacijo 33 se preslika vrednost iz akumulatorja B. |
STAB 33333 | 11110111 10000010 00110101 |
F7 82 35 |
Na lokacijo 33333 se preslika vrednost iz akumulatorja B . |
STAB X,33 | 11100111 00100001 |
E7 21 |
Na lokacijo, ki je za 33 večja od vrednosti indeksnega registra, 33 se preslika vrednost iz akumulatorja A . |
Ukaz TBA
Ukazi tipa TRANSFER preslikajo podatke iz enega registra v drugega. Ukazi imajo samo vsebovano naslavljanje.
Ukazi vplivajo na statusni register CCR:
V primeru prenosa med registroma X in SP se nobena zastavica ne spremeni.
ukaz | strojna koda | šestnajstiško | opis |
---|---|---|---|
TAB | 00010110 | 16 | Vrednost registra A se preslika v register B. |
TAP | 00000110 | 06 | Vrednost registra A se preslika v register CCR. |
TBA | 00010111 | 17 | Vrednost registra B se preslika v register A. |
TPA | 00000110 | 06 | Vrednost registra CCR se preslika v register A. |
TSX | 00110000 | 30 | Vrednost v kazalcu sklada (SP) se poveča za 1 in se preslika v indeksni register (X). |
TXS | 00110101 | 35 | Vrednost indeksnega registra (X) se zmanjša za 1 in se preslika v kazalec sklada (SP). |
Ukaz PSHA
Ukaza preslikata podatke na lokacije ali iz lokacije, ki je določena s kazalcem sklada. Zastavice v pogojno kodnem registru ne spremenijo vrednosti. Ukazi imajo vsebovano naslavljanje.
ukaz | strojna koda | šestnajstiško | opis |
---|---|---|---|
PSHA | 00110110 | 36 | Vrednost registra A se preslika na lokacijo, ki je enaka vrednosti v SP (kazalcu sklada). Vrednost v kazalcu sklada se zmanjša za 1. |
PSHB | 00110111 | 37 | Vrednost registra B se preslika na lokacijo, ki je enaka vrednosti v SP (kazalcu sklada). Vrednost v kazalcu sklada se zmanjša za 1. |
PSHX | 00111100 | 3C | Vrednost zgornjih osem bitom registra X se preslika na lokacijo, ki sta enaka vrednosti v SP zmanjšano za vrednost 1 (SP-1) in vrednost spodnjih osem bitom registra X se preslika na lokacijo, ki sta enaka vrednosti v SP . Vrednost v kazalcu sklada se zmanjša za 2. |
PULA | 00110010 | 32 | Vrednost lokacije, ki je enaka vrednosti v SP (kazalcu sklada), povečano za vrednost 1 (SP+1), se preslika v register A. Vrednost v kazalcu sklada se poveča za 1. |
PULB | 00110011 | 33 | Vrednost lokacije, ki je enaka vrednosti v SP (kazalcu sklada), povečano za vrednost 1 (SP+1), se preslika v register B. Vrednost v kazalcu sklada se poveča za 1. |
PULX | 00111000 | 38 | Vrednost lokacije, ki je enaka vrednosti v SP (kazalcu sklada), povečano za vrednost 1 (SP+1), se preslika v zgornjih osem bitov registra X. Vrednost lokacije, ki je enaka vrednosti v SP (kazalcu sklada), povečano za vrednost 2 (SP+2), se preslika v spodnjih osem bitov registra X. Vrednost v kazalcu sklada se poveča za 2. |
Ukaz CLV
Ukazi CLEAR so redundančni (odvečni). Realizirali bi jih lahko z ukazom LOAD #0. Prednost ukazov CLEAR pa je v hitrosti izvajanja. Ukazi CLEAR in SET lahko tudi postavijo (vrednost bo 1) ali brišejo (vrednost bo 0) posamezne bite v pogojno kodnem registru CCR. Ukazi imajo vsebovano, indeksno in razširjeno naslavljanje.
ukaz | strojna koda | šestnajstiško | opis |
---|---|---|---|
CLC | 00001100 | 0C | V zastavico C (prenos) v CCR se vpiše vrednost 0. |
CLI | 00001110 | 0E | Omogoči se prekinitvena maska. V zastavico I (prekinitvena maska) v CCR se vpiše vrednost 0. |
CLRA | 01001111 | 4F | V register A se vpiše vrednost 0. |
CLRB | 01011111 | 5F | V register B se vpiše vrednost 0. |
CLV | 00001010 | 0A | V zastavico V (preliv) v CCR se vpiše vrednost 0. |
CLR 999 | 01111111 00000011 11100111 | 7F 03 E7 | V lokacijo 999 se vpiše vrednost 0. |
CLR X,99 | 01101111 01100011 | 6F 63 |
V lokacijo, ki je za 99 večja od vrednosti indeksnega registra, se vpiše vrednost 0. |
SEC | 00001100 | 0D | V zastavico C (prenos) v CCR se vpiše vrednost 1. |
SEI | 00001111 | 0F | Onemogoči se prekinitvena maska. V zastavico I (prekinitvena maska) v CCR se vpiše vrednost 1. |
SEV | 00001011 | 0B | V zastavico V (preliv) v CCR se vpiše vrednost 1. |
SERŠ Maribor, Strokovna gimnazija, leto: 2002/03, avtor: Danijel Mom