e-gradiva     Sistemi Motorola Omrežja      
  logotip  
SERŠ Maribor Iskanje Primeri

Ukazi za prenos

Ukazi za prenost podatkov so naslednjih tipov:

load in store

Ukaz LDDA

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:

zastavica Z
V pogojno kodnem registru se zastavica Z postavi na 1, če so vsi biti v podatku enaki 0.
zastavica N
V pogojno kodnem registru se zastavica N postavi na vrednost, ki jo ima bit z največjo utežjo (7. bit ali 15. bit).
zastavica V
V pogojno kodnem registru se zastavica V postavi na 0.
zastavice H, I in C
V pogojno kodnem registru zastavice ohranijo vrednosti.

Primeri ukazov

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 .

Transfer

Ukaz TBA

Ukaz TBA

Ukazi tipa TRANSFER preslikajo podatke iz enega registra v drugega. Ukazi imajo samo vsebovano naslavljanje.

Ukazi vplivajo na statusni register CCR:

zastavica Z
V pogojno kodnem registru se zastavica Z postavi na 1, če so vsi biti v podatku enaki 0.
zastavica N
V pogojno kodnem registru se zastavica N postavi na vrednost, ki jo ima bit z največjo utežjo (7. bit ali 15. bit).
zastavica V
V pogojno kodnem registru se zastavica V postavi na 0.
zastavice H, I in C
V pogojno kodnem registru zastavice ohranijo vrednosti.

V primeru prenosa med registroma X in SP se nobena zastavica ne spremeni.

Primeri ukazov

ukaz strojna koda šestnajstiško opis
TAB0001011016Vrednost registra A se preslika v register B.
TAP0000011006Vrednost registra A se preslika v register CCR.
TBA0001011117Vrednost registra B se preslika v register A.
TPA0000011006Vrednost registra CCR se preslika v register A.
TSX0011000030Vrednost v kazalcu sklada (SP) se poveča za 1 in se preslika v indeksni register (X).
TXS0011010135Vrednost indeksnega registra (X) se zmanjša za 1 in se preslika v kazalec sklada (SP).

Pull in push

Ukaz PSHA

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.

Primeri ukazov

ukaz strojna koda šestnajstiško opis
PSHA0011011036Vrednost registra A se preslika na lokacijo, ki je enaka vrednosti v SP (kazalcu sklada). Vrednost v kazalcu sklada se zmanjša za 1.
PSHB0011011137Vrednost registra B se preslika na lokacijo, ki je enaka vrednosti v SP (kazalcu sklada). Vrednost v kazalcu sklada se zmanjša za 1.
PSHX001111003CVrednost 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.
PULA0011001032Vrednost 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.
PULB0011001133Vrednost 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.
PULX0011100038Vrednost 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.

Clear in set

Ukaz CLV

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.

Primeri ukazov

ukaz strojna koda šestnajstiško opis
CLC000011000C V zastavico C (prenos) v CCR se vpiše vrednost 0.
CLI000011100EOmogoči se prekinitvena maska. V zastavico I (prekinitvena maska) v CCR se vpiše vrednost 0.
CLRA010011114FV register A se vpiše vrednost 0.
CLRB010111115FV register B se vpiše vrednost 0.
CLV000010100A V zastavico V (preliv) v CCR se vpiše vrednost 0.
CLR 99901111111
00000011
11100111
7F
03
E7
V lokacijo 999 se vpiše vrednost 0.
CLR X,9901101111
01100011
6F
63
V lokacijo, ki je za 99 večja od vrednosti indeksnega registra, se vpiše vrednost 0.
SEC000011000D V zastavico C (prenos) v CCR se vpiše vrednost 1.
SEI000011110FOnemogoči se prekinitvena maska. V zastavico I (prekinitvena maska) v CCR se vpiše vrednost 1.
SEV000010110BV zastavico V (preliv) v CCR se vpiše vrednost 1.

SERŠ Maribor, Strokovna gimnazija, leto: 2002/03, avtor: Danijel Mom