msp430 set instrukcija - es.elfak.ni.ac.rses.elfak.ni.ac.rs/papers/s.jovanovic - msp430 skup...

64
Univerzitet u Nišu Elektronski Fakultet Katedra za Elektroniku PREDMET: Mikroprocesorski Sistemi Avgust 2008 MSP430 SET INSTRUKCIJA Mentor: Student: Prof. Dr. Mile Stojčev, red. prof. Srñan Jovanović 12455

Upload: others

Post on 04-Mar-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

Univerzitet u Nišu Elektronski Fakultet Katedra za Elektroniku

PREDMET: Mikroprocesorski Sistemi Avgust 2008

MSP430 SET INSTRUKCIJA

Mentor: Student: Prof. Dr. Mile Stojčev, red. prof. Srñan Jovanović 12455

Page 2: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 2

SADRŽAJ

1. UVOD .......................................................................................................... 4 2. REČNIK SKRAĆENICA KORIŠĆENIH U RADU ............................... 6 3. DETALJAN OPIS INSTRUKCIJA .......................................................... 8

3.1. ADC[.W];ADC.B .................................................................................................. 11 3.2. ADD[.W];ADD.B .................................................................................................. 12 3.3. ADDC[.W];ADDC.B ............................................................................................ 13 3.4. AND[.W];AND.B .................................................................................................. 14 3.5. BIC[.W];BIC.B ...................................................................................................... 15 3.6. BIS[.W];BIS.B ....................................................................................................... 16 3.7. BIT[.W];BIT.B ....................................................................................................... 17 3.8. BR ........................................................................................................................... 18 3.9. CALL ...................................................................................................................... 19 3.10. CLR[.W];CLR.B ................................................................................................... 20 3.11. CLRC .................................................................................................................... 21 3.12. CLRN .................................................................................................................... 22 3.13. CLRZ .................................................................................................................... 23 3.14. CMP[.W];CMP.B ................................................................................................. 24 3.15. DADC[.W];DADC.B ........................................................................................... 25 3.16. DADD[.W];DADD.B ........................................................................................... 26 3.17. DEC[.W];DEC.B .................................................................................................. 27 3.18. DECD[.W];DECD.B ............................................................................................ 28 3.19. DINT ..................................................................................................................... 29 3.20. EINT ..................................................................................................................... 30 3.21. INC[.W];INC.B .................................................................................................... 31 3.22. INCD[.W];INCD.B .............................................................................................. 32 3.23. INV[.W];INV.B ................................................................................................... 33 3.24. JC/JHS .................................................................................................................. 34 3.25. JEQ/JZ .................................................................................................................. 35 3.26. JGE ....................................................................................................................... 36 3.27. JL .......................................................................................................................... 37 3.28. JMP ....................................................................................................................... 38 3.29. JN .......................................................................................................................... 39 3.30. JNC/JLO ............................................................................................................... 40 3.31. JNE/JNZ ............................................................................................................... 41 3.32. MOV[.W];MOV.B ............................................................................................... 42 3.33. NOP ...................................................................................................................... 43 3.34. POP[.W];POP.B ................................................................................................... 44 3.35. PUSH[.W];PUSH.B ............................................................................................. 45 3.36. RETI ..................................................................................................................... 46 3.37. RET ....................................................................................................................... 47 3.38. RLA[.W];RLA.B .................................................................................................. 48 3.39. RLC[.W];RLC.B ................................................................................................... 49

Page 3: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 3

3.40. RRA[.W];RRA.B .................................................................................................. 50 3.41. RRC[.W];RRC.B .................................................................................................. 51 3.42. SBC[.W];SBC.B ................................................................................................... 52 3.43. SETC ..................................................................................................................... 53 3.44. SETN .................................................................................................................... 54 3.45. SETZ ..................................................................................................................... 55 3.46. SUB[.W];SUB.B ................................................................................................... 56 3.47. SUBC[.W];SUBC.B ............................................................................................. 57 3.48. SWPB ................................................................................................................... 58 3.49. SXT ....................................................................................................................... 59 3.50. TST[.W];TST.B .................................................................................................... 60 3.51. XOR[.W];XOR.B ................................................................................................. 61

Page 4: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 4

1. UVOD Asemblerski jezik, ili jednostavno asembler je niži programski jezik koji mašinski jezik specifične procesorske arhitekture predstavlja u ljudima čitljivom obliku. Iz toga proizilazi da svaka procesorska arhitektura poseduje svoj asembler. Programi se u procesoru izvršavaju u mašinskom jeziku, koji predstavlja ureñene nizove binarnih cifara, koji ljudima, koji mnogo lakše pišu i razumeju simbole umesto dugih nizova cifara, nije najpodesniji za korišćenje. Asemblerski jezik je simbolična reprezentacija binarno kodiranih instrukcija mašinskog jezika, a sama upotreba simbola umesto bitova ga čini znatno čitljivijim od mašinskog. Simboli označavaju odreñene šablone bitova, kao što su kodovi operacija ili specifikacije registara. Uz to, asemblerski jezik omogućava korišćenje labela koje predstavljaju simbolička imena pojedinih memorijskih lokacija bilo da one sadrže instrukcije programa ili podatke. U samom procesu nastanka izvršne datoteke asembler ima značajnu ulogu (Slika 1). Asembler čita pojedine izvorne fajlove i proizvodi objektne fajlove koji sadrže mašinske instrukcije i informacije koje pomažu kombinovanju nekoliko objektnih fajlova u program. Većina programa se sastoji od nekoliko datoteka ili modula koje se pišu i prevode nezavisno.

Slika 1. Proces nastanka izvršne datoteke Modul obično sadrži reference na potprograme i podatke definisane u drugim modulima i bibliotekama. Još jedno sredstvo, linker, kombinuje kolekciju objektnih i bibliotečkih fajlova u izvršni fajl koji se može izvršiti u procesoru. Program u asembleru se često naziva i asemblerskim kodom. Taj kod se putem specijalnog kompilatora pretvara u mašinski kod koji je direktno izvršiv od strane procesora. Obrnuti proces pretvaranja mašinskog koda u asembler kod se naziva "disasembliranje". Pri tom procesu je spašavanje svih preñašnjih delova asembler koda nemoguće, pošto se oni (npr. komentari) pri kompiliranju nepovratno brišu. Zbog toga je disasemblirani kod teško razumljiv.

Page 5: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 5

Programi napisani u asembleru se odlikuju mogućnošću slanja direktnih komandi procesoru kao i iskorišćavanju celog dijapazona računarske arhitekture. Pošto ti programi rade praktično na nivou mašinskog koda, i nemaju pomoćne konstrukcije, generalizacije koda i za procesor slične manje bitne stvari, mnogo su manji i brži od programa napisanih u nekom višem programskom jeziku.

Page 6: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 6

2. REČNIK SKRAĆENICA KORIŠĆENIH U RADU

U Tabeli 1 se nalazi spisak skraćenica koje su korišćene u tekstu, kao i njihova objašnjenja.

Simbol Definicija

src Izvorišni operand, definisan od strane As i S-reg

dst Odredišni operand, definisan od strane Ad i D-reg

As Bitovi koji predstavljaju model adresiranja

Ad Bitovi koji predstavljaju model adresiranja

S-reg Radni registar koji se koristi za izvorišni operand, src

D-reg Radni registar koji se koristi za odredišni operand, dst

R0 ili PC Registar 0, ili programski brojač

R1 ili SP Registar 1 ili pokazivač steka

R2 ili

SR/CG1

Registar 2 ili status registar/generator konstanti 1

R3 ili

CG2

Registar 3 ili status registar/generator konstanti 2

R4 do

R15

Radni registar Registri opšte namene

Rn

Radni registar sa n=4-15 Registri opšte namene

# Neposredno adresiranje

@ Registarsko indirektno adresiranje

& Apsolutno adresiranje

--> Pravac toka podataka

label 16-bitna labela

TOS Vrh steka

C Bit prenosa

N Negativni bit

V Bit prekoračenja

Page 7: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 7

Z Bit nule

.B Sufiks na kraju instrukcije koji označava bajt operaciju

.W Sufiks na kraju instrukcije koji označava operaciju veličine reči

MSB Bajt naveće težine

LSB Bajt najmanje težine

MSb Bit naveće težine

LSb Bit najmanje težine

Tabela 1.

Page 8: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 8

3. DETALJAN OPIS INSTRUKCIJA Arhitektura MSP430 je nastala iz ideje o korišćenju redukovanog broja instrukcija transparentnih formata. Postoji odreñen broj osnovnih instrukcija koje su realizovane u hardveru i pseudo-instrukcije koje koriste hardver radi što efikasnije emulacije. Pseudo-instrukcije koriste osnovne instrukcije u kombinaciji sa generatorima konstanti CG1 i CG2. U ovom radu su opisane i osnovne i pseudo-instrukcije. Instrukcije mogu da zauzmu jednu, dve ili tri reči u programskoj memoriji, u zavisnosti od tipa adresiranja koje se koristi. Svaka instrukcija zauzima minimum jednu reč u memoriji. Indeksirano, simboličko, apsolutno i neposredno adresiranje zahtevaju još jednu reč u programskoj memoriji. Ova četiri tipa adresiranja su moguća za pristupanje izvorišnom operandu, dok se za pristupanje odredišnom operandu koriste indeksirano, simboličko i apsolutno adresiranje. Dalje u tekstu je dat spisak svih osnovnih i pseudo-instrukcija, kao i njihov detaljan opis. Pseudo-instrukcije su obeležene zvezdicom (*).

Page 9: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 9

3.1. Spisak osnovnih i pseudo-instrukcija Status Bitovi V N Z C

* ADC[.W];ADC.B dst dst+C->dst * * * *

ADD[.W];ADD.B src,dst src+dst->dst * * * *

ADDC[.W];ADDC.B src,dst src+dst+C->dst * * * *

AND[.W];AND.B src,dst src.and.dst->dst 0 * * *

BIC[.W];BIC.B src,dst .not.src.and.dst->dst - - - -

BIS[.W];BIS.B src,dst src.or.dst->dst - - - -

BIT[.W];BIT.B src,dst src.and.dst 0 * * *

* BR dst Branch to ....... - - - -

CALL dst PC+2->stack, dst->PC - - - -

* CLR[.W];CLR.B dst Clear destination - - - -

* CLRC Clear carry bit - - - 0

* CLRN Clear negative bit - 0 - -

* CLRZ Clear zero bit - - 0 -

CMP[.W];CMP.B src,dst dst-src * * * *

* DADC[.W];DADC.B dst dst+C->dst (decimal) * * * *

DADD[.W];DADD.B src,dst src+dst+C->dst (decimal) * * * *

* DEC[.W];DEC.B dst dst-1->dst * * * *

* DECD[.W];DECD.B dst dst-2->dst * * * *

* DINT Disable interrupt - - - -

* EINT Enable interrupt - - - -

* INC[.W];INC.B dst Increment destination,

dst+1->dst * * * *

* INCD[.W];INCD.B dst Double-Increment destination,

dst+2->dst * * * *

* INV[.W];INV.B dst Invert destination * * * *

JC/JHS Label Jump to Label

if Carry-bit is set - - - -

JEQ/JZ Label Jump to Label

if Zero-bit is set - - - -

JGE Label Jump to Label

if (N .XOR. V) = 0 - - - -

JL Label Jump to Label

if (N .XOR. V) = 1 - - - -

JMP Label Jump to Label

unconditionally - - - -

JN Label Jump to Label

if Negative-bit is set - - - -

JNC/JLO Label Jump to Label

if Carry-bit is reset - - - -

JNE/JNZ Label Jump to Label

Page 10: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 10

if Zero-bit is reset - - - -

MOV[.W];MOV.B src,dst src->dst - - - -

* NOP No operation - - - -

* POP[.W];POP.B dst Item from stack, SP+2->SP - - - -

PUSH[.W];PUSH.B src SP-2->SP, src->@SP - - - -

RETI Return from interrupt * * * *

TOS -> SR, SP + 2 -> SP

TOS -> PC, SP + 2 -> SZP

* RET Return from subroutine - - - -

TOS -> PC, SP + 2 -> SP

* RLA[.W];RLA.B dst Rotate left arithmetically* * * *

* RLC[.W];RLC.B dst Rotate left through carry * * * *

RRA[.W];RRA.B dst MSB->MSB-> ....LSB->C 0 * * *

RRC[.W];RRC.B dst C->MSB-> .........LSB->C * * * *

* SBC[.W];SBC.B dst Subtract carry

from destination * * * *

* SETC Set carry bit - - - 1

* SETN Set negative bit - 1 - -

* SETZ Set zero bit - - 1 -

SUB[.W];SUB.B src,dst dst+.not.src+1->dst * * * *

SUBC[.W];SUBC.B src,dst dst+.not.src+C->dst * * * *

SWPB dst swap bytes - - - -

SXT dst Bit7->Bit8 ........ Bit15 0 * * *

* TST[.W];TST.B dst Test destination 0 * * 1

XOR[.W];XOR.B src,dst src.xor.dst->dst * * * *

Page 11: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 11

* ADC[.W] Sabiranje sa prenosom

* ADC.B Sabiranje sa prenosom

Sintaksa ADC dst ili ADC.W dst ADC.B dst

Operacija dst + C -> dst

Emulacija ADDC #0,dst ADDC.B #0,dst

Opis Vrednost bita prenosa se dodaje na odredišni operand. Prethodna vrednost odredišnog operanda se briše.

Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako je dst inkrementovan sa 0FFFFh na 0000, u drugom slučaju

resetovan Setovan ako je dst inkrementovan sa 0FFh na 00, u drugom slučaju resetovan

V: Setovan ako je došlo do prekoračenja, u drugom slučaju resetovan

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I 16-bitni brojač pokazivača R13 je dodat na 32-bitni brojač pokazivača R12: ADD @R13,0(R12) ; Dodaj LSD ADC 2(R12) ; Dodaj bit prenosa na MSD

Primer II 8-bitni brojač pokazivača R13 je dodat na16-bitni brojač pokazivača R12: ADD.B @R13,0(R12) ; Dodaj LSD ADC.B 1(R12) ; Dodaj bit prenosa na MSD

Page 12: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 12

ADD[.W] Sabira izvorišni operand sa odredišnim

ADD.B Sabira izvorišni operand sa odredišnim

Sintaksa ADD src,dst ili ADD.W src,dst ADD.B src,dst

Operacija src + dst -> dst

Opis Izvorišni operand se dodaje na odredišni. Operacija ne utiče na stanje izvorišnog operanda, dok je prethodno stanje odredišnog operanda izgubljeno.

Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako postoji bit prenosa kao rezultat operacije, u drugom slučaju

resetovan V: Setovan ako je došlo do prekoračenja, u drugom slučaju reset

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I R5 je uvećan za 10. Skok na labelu MIPS se izvodi ako postoji bit prenosa

ADD #10,R5

JC MIPS ; Došlo je do bita prenosa ...... ; Ne postoji prenos

Primer II R5 je uvećan za 10. Skok na labelu MIPS se izvodi ako postoji bit prenosa

ADD.B #10,R5 ; Dodaje 10 na LSB registra R5 JC MIPS ; Postoji bit prenosa, ako je (R5) ≥ 246 [0Ah+0F6h] ...... ; Ne postoji prenos

Page 13: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 13

ADDC[.W] Sabira izvorišni operand sa odredišnim, sa prenosom

ADDC.B Sabira izvorišni operand sa odredišnim, sa prenosom

Sintaksa ADDC src,dst ili ADDC.W src,dst ADDC.B src,dst

Operacija src + dst + C -> dst

Opis Izvorišni operand i bit prenosa se dodaju na odredišni. Operacija ne utiče na stanje izvorišnog operanda, dok je prethodno stanje odredišnog operanda izgubljeno.

Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako postoji bit prenosa MSB-a rezultata, u drugom slučaju resetovan V: Setovan ako je došlo do prekoračenja, u drugom slučaju reset

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I 32-bitni brojač na koji ukazuje R13 se sabira sa 32-bitni brojač koji se nalazi 11

reči (20/2 + 2/2) iznad pointera u R13. ADD.B @R13+, 20(R13) ; Sabira LSD-e bez bita prenosa ADDC @R13+, 20(R13) ; Sabira MSD-e sa prenosom iz LSD

Primer II 24-bitni brojač na koji ukazuje R13 se sabira sa 24-bitnim brojačem koji se nalazi

11 reči iznad pointera u R13. ADD.B @R13+, 10(R13) ; Sabira LSD-e bez bita prenosa ADDC.B @R13+, 10(R13) ; Sabira srednje bitove sa prenosom ADDC.B @R13+, 10(R13) ; Sabira MSD-e sa prenosom iz LSD

Page 14: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 14

AND[.W] Vrši operaciju AND nad izvorišnim i odredišnim operandima

AND.B Vrši operaciju AND nad izvorišnim i odredišnim operandima

Sintaksa AND src, dst ili AND.W src, dst AND.B src, dst

Operacija src .AND. dst -> dst

Opis Vrši se operacija konjukcije nad izvorišnim i odredišnim operandima. Rezultat se smešta u odredišni operand.

Status bitovi N: Setovan ako je MSB rezultata setovan, resetovan ako nije setovan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako je rezultat različit od nule, u drugom slučaju resetovan V: Resetovan

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Setovani bitovi u R5 su iskorišćeni kao maska (#0AA55h) za reč na adresi MIPS.

Ukoliko je rezultat nula, program se grana ka labeli ELFAK. MOV #0AA55h, R5 ; Učitavanje maske u registar R5 AND R5, MIPS ; Maskiranje reči na adresi MIPS sa R5 JZ ELFAK ; ...... ; Rezultat nije nula ; ;ili ; AND #0AA55h, MIPS JZ ELFAK Primer II Vrši se konjukcija bit maske #0A5h sa LSB-om MIPS-a. Ako je rezultat nula,

program se grana ka labeli ELFAK.

AND.B #0A5h, MIPS ; Maskiranje LSB-a MIPS-a sa #0A5h JZ ELFAK ; ...... ; Rezultat nije nula

Page 15: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 15

BIC[.W] Resetuje bitove u odredišnom operandu

BIC.B Resetuje bitove u odredišnom operandu

Sintaksa BIC src,dst ili BIC.W src,dst BIC.B src,dst

Operacija .NOT.src .AND. dst -> dst

Opis Vrši konjukciju invertovanog izvorišnog operanda i odredišnog operanda. Rezultat se smešta u odredišni operand, dok vrednost izvorišnog operanda ostaje nepromenjena.

Status bitovi N: Nema uticaja na ovaj status bit.

Z: Nema uticaja na ovaj status bit. C: Nema uticaja na ovaj status bit. V: Nema uticaja na ovaj status bit.

Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I Resetuje se 6 MSB-ova reči MIPS.

BIC #0FC00h, MIPS ; Resetuje 6 MSB-ova u MIPS

Primer II Resetuje se 5 MSB-ova reči MIPS.

BIC #0F8h, EL ; Resetuje 5 MSB-ova u MIPS Primer III Resetuju se pinovi na portu P0 i P1.

P0OUT .equ 011h ; Definisanje adrese porta P0_0 .equ 01h P0_1 .equ 02h BIC.B #P0_0+P0_1,&P0OUT ; Postavljanje P0.0 i P0.1 na nulu

Page 16: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 16

BIS[.W] Setuje bitove u odredišnom operandu

BIS.B Setuje bitove u odredišnom operandu

Sintaksa BIS src,dst ili BIS.W src,dst BIS.B src,dst Operacija src .OR. dst -> dst

Opis Vrši se disjunkcija izmeñu izvorišnog i odredišnog operanda. Rezultat se smešta u odredišni operand, dok vrednost izvorišnog operanda ostaje nepromenjena.

Status bitovi N: Nema uticaja na ovaj status bit.

Z: Nema uticaja na ovaj status bit. C: Nema uticaja na ovaj status bit. V: Nema uticaja na ovaj status bit.

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Setuje se 6 LSB-ova reči MIPS. BIS #003Fh, MIPS ; Setuje se 6 LSB-ova reči MIPS

Primer II Startuje se A/D konverzija. ASOC .equ 1 ; Bit za start konverzije ACTL .equ 114h ; ADC-Kontrolni registar

BIS #ASOC,&ACTL ; Start A/D konverzije Primer III Setuje se 3 MSB-ova reči MIPS. BIS.B #0E0h, MIPS ; Setuje se 3 MSB-ova reči MIPS Primer IV Setuju se pinovi P0 i P1 P0OUT .equ 011h P0 .equ 01h P1 .equ 02h

BIS.B #P0+P1,&P0OUT

Page 17: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 17

BIT[.W] Testira bitove u odredišnom operandu

BIT.B Testira bitove u odredišnom operandu

Sintaksa BIT src, dst ili BIT.W src, dst BIT.B src, dst

Operacija src .AND. dst

Opis Vrši se operacija konjukcije nad izvorišnim i odredišnim operandima. Rezultat utiče jedino na status bitove, dok je bez uticaja na izvorišni i odredišni operand.

Status bitovi N: Setovan ako je MSB rezultata setovan, resetovan ako nije setovan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako je rezultat različit od nule, u drugom slučaju resetovan V: Resetovan

Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I Ukoliko je bit 9 registra R8 setovan, program se grana na labelu MIPS BIT #0200h, R8 ; Da li je bit 9 registra R8 setovan? JNZ MIPS ; Da, skok na MIPS ... ; Ne, nastavi dalje... Primer II Provera koji je kanal A/D konvertora postavljen MUX-om ACTL .equ 114h ; ADC kontrolni registar BIT #4, &ACTL ; Da li je odabran kanal 0? jnz KRAJ ; Da, skok na KRAJ Primer III Ako je bit 3 registra R8 setovan, program se dalje grana na labelu MIPS. BIT.B #8, R8 JC MIPS Primer IV Testira se primljeni bit serijskom komunikacijom RCV. Kako se korišćenjem instrukcije BIT za testiranje bita stanje bita prenosa postavlja na stanje testiranog bita, bit prenosa je iskorišćen kao nosioc informacije pri serijskom prenosu: ; Serijska komunikacija sa šiftovanjem LSB-ova: ; xxxx xxxx xxxx xxxx BIT.B #RCV,RCCTL ; Bit infomacija se smešta u bit prenosa (C) RRC RECBUF ; Bit prenosa (C) -> MSB registra RECBUF ; cxxx xxxx ...... ; Ponoviti prethodne 2 instrukcije ...... ; 8 puta ; cccc cccc ; ^ ^ ; MSB LSB

Page 18: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 18

*BR, BRANCH Grananje ka destinaciji

Sintaksa BR dst

Operacija dst -> PC

Emulacija MOV dst, PC Opis Izvodi se bezuslovno grananje bilo gde u 64 K adresnog prostora. Mogu se

koristiti svi tipovi adresiranja. Instrukcija grananja je veličine reči (word). Status bitovi Bez uticaja na status bitove Primeri Primeri za sve tipove adresiranja: BR #MIPS ; Grananje na labelu MIPS, ili direktno grananje (npr. #0A4h) ; Osnovna instrukcija MOV @PC+, PC BR MIPS ; Grananje ka adresi koja se nalazi u MIPS ; Osnovna instrukcija MOV X(PC), PC ; Indirektno adresiranje BR & MIPS ; Grananje ka adresi koja se nalazi u apsolutnoj adresi MIPS ; Osnovna instrukcija MOV X(0), PC ; Indirektno adresiranje BR R5 ; Grananje ka adresi koja se nalazi u registru R5 ; Osnovna instrukcija MOV R5, PC ; Indirektno R5 BR @R5 ; Grananje ka adresi koja se nalazi u reči na koju ukazuje R5 ; Osnovna instrukcija MOV @R5, PC ; Indirektno, indirektno R5 BR @R5+ ; Grananje ka adresi koja se nalazi u reči na koju ukazuje R5 ; uz inkrementiranje pointera u R5 nakon grananja. ; Osnovna instrukcija MOV @R5, PC ; Indirektno, indirektno R5 sa autoinkrementiranjem BR X(R5) ; Grananje ka adr. koja se nalazi u reči na koju ukazuje R5+X ; Osnovna instrukcija MOV X(R5), PC ; Indirektno, indirektno R5 + X

Page 19: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 19

CALL Potprogram

Sintaksa CALL dst

Operacija dst -> tmp dst se smešta u tmp SP - 2-> SP PC -> @SP tmp -> PC dst se smešta u PC Opis Poziva se potprogram koji smešten na bilo kojoj adresi unutar 64 K adresnog

prostora. Mogu se koristiti svi tipovi adresiranja. Povratna adresa (adresa instrukcije koja sledi nakon poziva potprograma) je smeštena u steku. Instrukcija CALL je veličine reči.

Status bitovi Bez uticaja na status bitove Primer I CALL #MIPS ; Poziv na labelu MIPS ili na konkretnu adresu (npr. #0A4h) ; SP-2 -> SP, PC+2 -> @SP, @PC+ -> PC CALL MIPS ; Poziv upućen na adresu koja se nalazi na labeli MIPS ; SP-2 -> SP, PC+2 -> @SP, X(PC) -> PC ; Indirektno adresiranje CALL & MIPS; Poziv na adresu koja se nalazi na apsolutnoj adresi labele

; MIPS ; SP-2 -> SP, PC+2 -> @SP, X(PC) -> PC ; Indirektno adresiranje CALL R5 ; Poziv na adresu koja se nalazi u R5 ; SP-2 -> SP, PC+2 -> @SP, R5 -> PC ; Indirektno na R5 CALL @R5 ; Poziv ka adresi koja se nalazi u reči na koju ukazuje R5 ; SP-2 -> SP, PC+2 -> @SP, @R5 -> PC ; Indirektno, indirektno R5 CALL @R5+ ; Poziv na adresu koja se nalazi u reči na koju ukazuje R5 ; uz inkrementiranje pointera u R5 nakon poziva ; SP-2 -> SP, PC+2 -> @SP, @R5 -> PC ; Indirektno, indirektno R5 sa autoinkrementiranjem CALL X(R5) ; Poziv ka adr. koja se nalazi u reči na koju ukazuje R5+X

; SP-2 -> SP, PC+2 -> @SP, X(R5) -> PC ; Indirektno, indirektno R5 + X

Page 20: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 20

* CLR[.W] Briše odredišni operand

* CLR.B Briše odredišni operand

Sintaksa CLR dst ili CLR.W dst CLR.B dst

Emulacija MOV #0, dst MOV.B #0, dst

Operacija 0 -> dst

Opis Instrukcija briše odredišni operand. Status bitovi Bez uticaja na status bitove Primer I Briše se reč MIPS CLR MIPS ; 0 -> MIPS Primer II Briše se registar R5 CLR R5 Primer III Briše se bajt MIPS CLR.B MIPS ; 0 -> MIPS

Page 21: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 21

* CLRC Briše bit prenosa (C)

Sintaksa CLRC

Operacija 0 -> C

Emulacija BIC #1, SR Opis Briše se bit prenosa (C). Instrukcija CLRC je instrukcija veličine reči. Status bitovi N: Bez uticaja

Z: Bez uticaja C: Resetovan V: Bez uticaja

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I 16-bitni brojač na koji ukazuje R13 se sabira sa 32-bitnim brojačem na koji ukazuje registar R12.

CLRC ; C=0: Definiše start DADD @R13,0(R12) ; Sabira 16-bitni brojač sa LSB-om 32-bitnog ; brojača DADC 2(R12) ; Dodaje bit prenosa na MSB 32-bitnog

; brojača

Page 22: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 22

* CLRN Briše bit negativnog predznaka (N)

Sintaksa CLRN

Operacija 0 -> N ili (.NOT.src .AND. dst -> dst)

Emulacija BIC #4,SR

Opis Vrši se konjukcija invertovane konstante 04h (0FFFBh) i odredišnog operanda.

Rezultat se smešta u odredišni operand. Ova instrukcija je veličine reči. Status bitovi N: Resetovan

Z: Bez uticaja C: Bez uticaja V: Bez uticaja

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer Briše se bit negativnog predznaka u statusnom registru. Ovime se izbegava obrada potprograma za rad sa negativnim brojevima.

CLRN CALL SUBR ...... ...... SUBR JN SUBRET ; Ako je ulaz negativan: ne radi ništa i vrati se nazad ...... ...... ...... SUBRET RET

Page 23: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 23

* CLRZ Briše bit nule (Z) u statusnom registru

Sintaksa CLRZ

Operacija 0 -> Z ili (.NOT.src .AND. dst -> dst) Emulacija BIC #2, SR Opis Vrši se konjukcija invertovane konstante 02h (0FFFDh) i odredišnog operanda.

Rezultat se smešta u odredišni operand. Ova instrukcija je veličine reči. Status bitovi N: Bez uticaja

Z: Resetovan C: Bez uticaja

V: Bez uticaja Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer Briše se bit nule (Z) u statusnom registru. CLRZ

Page 24: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 24

CMP[.W] Poredi izvorišni i odredišni operand

CMP.B Poredi izvorišni i odredišni operand

Sintaksa CMP src, dst ili CMP.W src, dst CMP.B src, dst

Operacija dst + .NOT.src + 1 ili (dst - src) Opis Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan (src >= dst)

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan (src = dst) C: Setovan ako postoji bit prenosa kao rezultat operacije, u drugom slučaju

resetovan V: Setovan ako je došlo do prekoračenja, u drugom slučaju reset

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Porede se registri R5 i R6. Ako su jednaki, program nastavlja sa izvršenjem na labeli EQUAL CMP R5, R6 ; R5 = R6 ? JEQ EQUAL ; Da,skok Primer II Porede se dva bloka RAM-a. Ukoliko nisu jednaki, program se grana na labelu ERROR

MOV #NUM,R5 ; Broj reči koje treba porediti L$1 CMP &BLOCK1,&BLOCK2 ; Jesu li jednake? JNZ ERROR ; Ne, skoči na ERROR DEC R5 ; Jesu li sve reči uporeñene? JNZ L$1 ; Ne, poredi ponovo

Primer III Porede se bajtovi u RAM-u na adresama MIPS i ELFAK. Ukoliko su jednaki, program nastavlja sa izvršavanjem na labeli EQUAL CMP.B MIPS, ELFAK ; MEM(MIPS) = MEM(ELFAK) ? JEQ EQUAL ; Da, skok

Page 25: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 25

* DADC[.W] Decimalno sabiranje sa bitom prenosa

* DADC.B Decimalno sabiranje sa bitom prenosa

Sintaksa DADC dst ili DADC.W src,dst DADC.B dst

Operacija dst + C -> dst (decimalno)

Emulacija DADD #0,dst DADD.B #0,dst Opis Bit prenosa se decimalno dodaje na odredišni operand Status bitovi N: Setovan ako je MSB = 1

Z: Setovan ako je dst = 0, u drugom slučaju resetovan C: Setovan ako se odredišni operand uvećava sa 9999 na 0000, u drugom slučaju

resetovan Setovan ako se odredišni operand uvećava sa 99 na 00, u drugom slučaju

resetovan V: Nedefinisano

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Četvorocifreni decimalni broj smešten u R5 se dodaje na osmocifreni decimalni broj na koji ukazuje R8

CLRC ; Reset bita prenosa ; DADD R5,0(R8) ; LSD + C DADC 2(R8) ; Dodaj bit prenosa na MSD

Primer II Dvocifreni decimalni broj koji se nalazi u R5 se sabira sa četvorocifrenim decimalnim brojem na koji ukazuje R8

CLRC ; Reset bita prenosa DADD.B R5,0(R8) ; LSD + C DADC 1(R8) ; Dodaj bit prenosa na MSD

Page 26: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 26

DADD[.W] Sabira decimalno izvorišni operand sa odredišnim, sa prenosom

DADD.B Sabira decimalno izvorišni operand sa odredišnim, sa prenosom

Sintaksa DADD src, dst ili DADD.W src,dst DADD.B src,dst Operacija src + dst + C -> dst (decimalno)

Opis Izvorišni i odredišni operand se tretiraju kao četvorocifreni binarno kodirani

pozitivni decimalni brojevi (BCD). Izvorišni operand se zajedno sa bitom prenosa sabira sa odredišnim operandom. Vrednost izvorišnog operanda se ne menja, dok je prethodno stanje odredišnog operanda izbrisano. Rezultat nije definisan za ne-BCD brojeve.

Status bitovi N: Setovan ako je MSB = 1, resetovan u drugom slučaju

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako je rezultat veći od 9999 Setovan ako je rezultat veći od 99 V: Nedefinisano

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Osmocifreni BCD brojevi koji su smešteni u R5 i R6 se decimalno sabiraju sa osmocifrenim brojevima smeštenim u R3 i R4 (u R6 i R4 se nalaze MSD-i).

CLRC ; Briše bit prenosa DADD R5,R3 ; sabira LSD-e DADD R6,R4 ; sabira MSD-e sa prenosom JC OVERFLOW ; Ukoliko doñe do bita prenosa, program ide na ; labelu OVERFLOW

Primer II Dvocifreni decimalni brojač u RAM-u, CNT se uvećava za jedan.

CLRC ; Briše bit prenosa DADD.B #1,CNT ; Inkrementiranje decimalnog brojača ili SETC DADD.B #0,CNT ; =DADC.B CNT

Page 27: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 27

* DEC[.W] Dekrementiranje odredišnog operanda

* DEC.B Dekrementiranje odredišnog operanda

Sintaksa DEC dst ili DEC.W dst DEC.B dst

Operacija dst – 1 -> dst

Emulacija SUB #1, dst Emulacija SUB.B #1, dst Opis Umanjuje vrednost odredišnog bita za jedan. Prethodno stanje odredišnog

operanda je izgubljeno. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je dst sadržao 1, u drugom slučaju resetovan C: Resetovan ako je dst sadržao 0, setovan u drugom slučaju V: Setovan ako je došlo do prekoračenja, u drugom slučaju reset Setovan ako je inicijalna vrednost odredišnog operanda bila 08000h Setovan ako je inicijalna vrednost odredišnog operanda bila 080h

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer Dekrementiranje registra R10 za 1

DEC R10 ; Dekrementiranje R10 ; Pomeranje memorijskog bloka veličine 255 bajtova sa memorijske lokacije koja

počinje na labeli MIPS, na memorijsku lokaciju koja počinje na labeli ELFAK ; Memorijske lokacije ne bi smele da se preklapaju ; MOV #EDE, R6 MOV #255, R10 L$1 MOV.B @R6+, ELFAK-MIPS-1(R6) DEC R10 JNZ L$1

Page 28: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 28

* DECD[.W] Dvostruko dekrementiranje odredišnog operanda

* DECD.B Dvostruko dekrementiranje odredišnog operanda

Sintaksa DECD dst ili DECD.W dst DECD.B dst Operacija dst - 2 -> dst Emulacija SUB #2,dst Emulacija SUB.B #2,dst Opis Umanjuje vrednost odredišnog bita za dva. Prethodno stanje odredišnog operanda

je izgubljeno. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je dst sadržao 2, u drugom slučaju resetovan C: Resetovan ako je dst sadržao 0 ili 1, setovan u drugom slučaju V: Setovan ako je došlo do prekoračenja, u drugom slučaju reset Setovan ako je inicijalna vrednost odredišnog operanda bila 08000h ili

08001h, u drugom slučaju resetovan Setovan ako je inicijalna vrednost odredišnog operanda bila 080h ili 081h,

u drugom slučaju resetovan Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Dekrementiranje registra R10 za 2

DECD R10 ; Dekrementiranje R10 za dva ; Pomeranje memorijskog bloka veličine 255 bajtova sa memorijske lokacije koja

počinje na labeli MIPS, na memorijsku lokaciju koja počinje na labeli ELFAK ; Memorijske lokacije ne bi smele da se preklapaju ; MOV #EDE, R6 MOV #510, R10 L$1 MOV @R6+,ELFAK-MIPS-2(R6) DECD R10 JNZ L$1

Page 29: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 29

* DINT Onemogućava (opšte) prekide

Sintaksa DINT

Operacija 0 -> GIE ili (0FFF7h .AND. SR -> / .NOT.src.AND.dst -> dst)

Emulacija BIC #8, SR

Opis Blokirani su svi prekidi. Vrši se operacija konjukcije nad invertovanom

konstantom #08h i status registrom. Rezultat se smešta u statusni registar. Status bitovi Bez uticaja na status bitove Režimi rada GIE je resetovan. Nema uticaja na OscOff i CPUOff.

Primer I Bit opšte dozvole prekida (GIE) iz statusnog registra se resetuje kako bi bilo moguće kopiranje 32-bitnog brojača bez prekida. DINT ; Svi prekidi koji koriste GIE bit su blokirani MOV COUNTHI, R5 ; Kopira brojač MOV COUNTLO, R6 EINT ; Svi prekidi koji koriste GIE bit su ponovo ; dozvoljeni

Napomena: Blokiranje prekida

Instrukcija koja sledi nakon instrukcije DINT se izvršava u vreme dok su prekidi još uvek dozvoljeni u toku izvršavanja instrukcije DINT. Ako neki deo koda treba zaštiti od prekidanja, valjalo bi da se krene sa izvršavanjem tog koda minimum jednu instrukciju nakon što je završeno sa izvršavanjem instrukcije DINT.

Page 30: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 30

* EINT Dozvola (opšta) prekida

Sintaksa EINT

Operacija 1 -> GIE

ili

(0008h .OR. SR -> SR / .NOT. src .OR. dst -> dst)

Emulacija BIS #8,SR

Opis Dozvola za sve prekide. Vrši se disjunkcija nad konstantom #08h i statusnim

registrom SR. Rezultat se smešta u registar SR. Status bitovi Bez uticaja na status bitove Režimi rada GIE je setovan. Nema uticaja na OscOff i CPUOff.

Primer I Setuje se bit za dozvolu prekida (GIE).

; Obrada prekida porta P0.2 do P0.7 ; Nivo prekida je najniži u sistemu ; P0IN je adresa registra iz kojeg se čitaju bitovi svih portova ; P0IFG je adresa registra gde se čuvaju informacije o svim dogañajima ; vezanim za prekide PUSH.B &P0IN BIC.B @SP,&P0IFG ; Resetuje samo prihvatljive indikatore stanja EINT ; Dozvola interapta BIT #Mask,@SP JEQ MaskOK ; Indikatori stanja postavljeni po masci: Skok ......

MaskOK BIC #Mask,@SP

...... INCD SP ; Čišćenje:Suprotno PUSH instrukciji

; na startu obrade prekida.

Page 31: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 31

* INC[.W] Inkrementiranje odredišnog operanda

* INC.B Inkrementiranje odredišnog operanda

Sintaksa INC dst ili INC.W dst INC.B dst

Operacija dst + 1 -> dst

Emulacija ADD #1, dst Opis Odredišni operand je uvećan za jedan.Prethodna vrednost operanda je izbrisana. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je dst sadržao 0FFFFh, u drugom slučaju resetovan Setovan ako je dst sadržao 0FFh, u drugom slučaju resetovan C: Setovan ako je dst sadržao 0FFFFh, u drugom slučaju resetovan Setovan ako je dst sadržao 0FFh, u drugom slučaju resetovan V: Setovan ako je dst sadržao 07FFFh, u drugom slučaju resetovan Setovan ako je dst sadržao 07Fh, u drugom slučaju resetovan

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Podatak na vrhu softverskog steka (ne sistemskog) za podatke veličine bajta je uklonjen. SSP .EQU R4 ; INC SSP ; Uklanjanje TOSS (top of SW stack) ; inkrementiranjem ; Ne koristiti INC.B jer je SSP registar veličine ; word

Primer II Status bajt procesa STATUS je inkrementiran. Kada bude imao vrednost jedanaest, program se grana na labelu OVFL. INC.B STATUS CMP.B #11, STATUS JEQ OVFL

Page 32: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 32

* INCD[.W] Dvostruko inkrementiranje odredišnog operanda

* INCD.B Dvostruko inkrementiranje odredišnog operanda

Sintaksa INCD dst ili INCD.W dst INCD.B dst

Operacija dst + 2 -> dst

Emulacija ADD #2,dst

Emulacija ADD.B #2,dst

Opis Vrši se dvostruko inkrementiranje odredišnog operanda. Prethodni sadržaj je

izbrisan. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je dst sadržao 0FFFEh, u drugom slučaju resetovan Setovan ako je dst sadržao 0FEh, u drugom slučaju resetovan C: Setovan ako je dst sadržao 0FFFEh ili 0FFFFh, u drugom slučaju resetovan Setovan ako je dst sadržao 0FEh ili 0FFh, u drugom slučaju resetovan V: Setovan ako je dst sadržao 07FFEh ili 07FFFh, u drugom slučaju resetovan Setovan ako je dst sadržao 07Eh ili 07Fh, u drugom slučaju resetovan

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Objekat na vrhu steka je uklonjen bez upotrebe registra.

....... PUSH R5 ; R5 je rezultat nekog izračunavanja koji je smešten ; u sistemskom steku INCD SP ; Uklanjanje TOS-a dvostrukom inkrementacijom ; Ne koristiti INCD.B jer je SP registar veličine ; word RET

Primer II Bajt na vrhu steka je uvećan za dva INCD.B 0(SP)

Page 33: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 33

* INV[.W] Invertuje odredišni operand

* INV.B Invertuje odredišni operand

Sintaksa INV dst INV.B dst

Operacija .NOT.dst -> dst

Emulacija XOR #0FFFFh, dst Emulacija XOR.B #0FFh, dst Opis Odredišni operand je invertovan. Prethodna vrednost je izbrisana. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je dst sadržao 0FFFFh, u drugom slučaju resetovan Setovan ako je dst sadržao 0FFh, u drugom slučaju resetovan C: Setovan ako je rezultat različit od nule, u drugom slučaju resetovan

(=.NOT.Zero) V: Setovan ako je odredišni operan bio negativan, u drugom slučaju reset

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I Vrednost registra R5 je pretvorena u negativnu (u komplementu dvojke).

MOV #00Aeh, R5 ; R5 = 000AEh INV R5 ; Invertovanje R5, R5 = 0FF51h INC R5 ; R5 je sada negativan, R5 = 0FF52h

Primer II Vrednost bajta MIPS je pretvorena u negativnu.

MOV.B #0AEh, MIPS; MEM(MIPS) = 0AEh INV.B MIPS ; Invertovanje MIPS, MEM(MIPS) = 051h INC.B MIPS ; MEM(MIPS) je sada negativan, MEM(MIPS) = 052h

Page 34: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 34

JC Skok ako je bit prenosa setovan

JHS Skok ako je veći ili jednak

Sintaksa JC labela JHS labela

Operacija Ako je C = 1: PC + 2*pomeraj -> PC Ako je C = 0: izvrši sledeću instrukciju Opis Testira se stanje bita prenosa u statusnom registru. Ako je bit prenosa setovan,

10-bitni pomeraj sa predznakom koji je sadržan u LSB-ovima instrukcije se dodaje na programski brojač. Ukoliko bit prenosa nije setovan, izvršava se sledeća instrukcija koja sledi. JC se koristi i za poreñenje neoznačenih brojeva (0 do 65536).

Status bitovi Nema uticaja na status bitove Primer I Signal sa ulaza pina P0IN.1 se koristi za upravljanje toka programa.

BIT #10h, &P0IN ; Stanje na ulazu -> bit prenosa JC PROGA ; Ako je bit prenosa=1 izvrši program A ...... ; Bit prenosa = 0, nastavi sa programom

; odavde Primer II Vrednost R5 se poredi sa brojem 15. Ukoliko je vrednost u registru ista ili veća, program se grana na labelu MIPS. CMP #15, R5 JHS MIPS ; Skok ako je R5 >= 15 ...... ; Nastaviti odavde ako je R5 < 15

Page 35: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 35

JEQ , JZ Skok ako je jednako, Skok ako je nula

Sintaksa JEQ labela, JZ labela

Operacija Ako je Z=1: PC + 2*pomeraj -> PC Ako je Z=0: izvrši sledeću instrukciju Opis Testira se stanje bita nule (Z) u statusnom registru. Ako je bit nule setovan, 10-

bitni pomeraj sa predznakom koji je sadržan u LSB-ovima instrukcije se dodaje na programski brojač. Ukoliko bit nule nije setovan, izvršava se sledeća instrukcija koja sledi.

Status bitovi Nema uticaja na status bitove Primer I Skok na adresu MIPS ukoliko je R7 nula. TST R7 ; Test R7 JZ TONI ; Ako je nula: skok

Primer II Skok na adresu ELFAK ako je vrednost R6 jednaka vrednostima iz Table.

CMP R6, Table(R5) ; Poredi vrednost R6 sa vrednostima ; MEM(Table adresa +vrednost u R5) JEQ LEO ; Skok ako su vrednosti iste ...... ; Vrednosti nisu iste, nastavi odavde

Primer Grananje na MIPS ako je vrednost R5 nula.

TST R5 JZ MIPS ......

Page 36: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 36

JGE Skok ako je veće ili jednako

Sintaksa JGE labela

Operacija Ako je (N .XOR. V) = 0 skok na labelu: PC + 2*pomeraj -> PC Ako je (N .XOR. V) = 1 izvrši sledeću instrukciju Opis Testira se stanje bita negativne vrednosti (N) i bita prekoračenja (V) u statusnom

registru. Ako su oba bita setovana ili resetovana, 10-bitni pomeraj sa predznakom koji je sadržan u LSB-ovima instrukcije se dodaje na programski brojač. Ukoliko je samo jedan bit setovan, izvršava se sledeća instrukcija koja sledi. Ova instrukcija omogućava poreñenje označenih celih brojeva.

Status bitovi Nema uticaja na status bitove Primer I Kada je vrednost registra R6 veća ili jednaka sa vrednošću na koju ukazuje R7, program se grana na labelu MIPS. CMP @R7, R6 ; R6 Z (R7)?, poreñenje označenih brojeva JGE MIPS ; Da, R6 Z (R7) ...... ; Ne, nastavi odavde

Page 37: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 37

JL Skok ako je manje

Sintaksa JL labela

Operacija Ako je (N .XOR. V) = 1 skok na labelu: PC + 2*pomeraj -> PC Ako je (N .XOR. V) = 0 izvrši sledeću instrukciju Opis Testira se stanje bita negativne vrednosti (N) i bita prekoračenja (V) u statusnom

registru. Ukoliko je samo jedan bit setovan, 10-bitni pomeraj sa predznakom koji je sadržan u LSB-ovima instrukcije se dodaje na programski brojač. Ako su oba bita setovana ili resetovana, izvršava se sledeća instrukcija koja sledi. Ova instrukcija omogućava poreñenje označenih celih brojeva.

Status bitovi Nema uticaja na status bitove Primer I Kada je vrednost registra R6 manja od vrednosti na koju ukazuje R7, program se grana na labelu MIPS. CMP @R7, R6 ; R6 Z (R7)?, poreñenje označenih brojeva JL MIPS ; Da, R6 Z (R7) ...... ; Ne, nastavi odavde

Page 38: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 38

JMP Bezuslovni skok

Sintaksa JMP labela

Operacija PC + 2*pomeraj -> PC

Opis 10-bitni pomeraj sa predznakom koji je sadržan u LSB-ovima instrukcije se

dodaje na programski brojač. Status bitovi Nema uticaja na status bitove Savet Ova instrukcija veličine jedne reči menja instrukciju BRANCH u opsegu -511 do +512 reči, relativno u odnosu na programski brojač.

Page 39: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 39

JN Skok ukoliko je negativan

Sintaksa JN labela

Operacija Ako je N=1: PC + 2*pomeraj -> PC Ako je N=0: izvrši sledeću instrukciju Opis Testira se stanje bita negativne vrednosti (N) u statusnom registru. Ako je bit

negativne vrednosti setovan, 10-bitni pomeraj sa predznakom koji je sadržan u LSB-ovima instrukcije se dodaje na programski brojač. Ukoliko bit nije setovan, izvršava se sledeća instrukcija koja sledi.

Status bitovi Nema uticaja na status bitove

Primer I Vrednost iz registra R5 se oduzima od COUNT. Ukoliko je rezultat negativan, COUNT se briše i program nastavlja sa izvršavanjem u drugom pravcu.

SUB R5, COUNT ; COUNT - R5 -> COUNT JN L$1 ; Ako je negativan, nastavi sa COUNT=0 na;PC=L$1 ...... ; Continue with COUNT Z0 ...... ...... L$1 CLR COUNT ...... ...... ......

Page 40: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 40

JNC Skok ako je bit prenosa resetovan

JLO Skok ako je manje

Sintaksa JNC labela JLO labela

Operacija Ako je C = 0: PC + 2*pomeraj -> PC Ako je C = 1: izvrši sledeću instrukciju Opis Testira se stanje bita prenosa u statusnom registru. Ako je bit prenosa resetovan,

10-bitni pomeraj sa predznakom koji je sadržan u LSB-ovima instrukcije se dodaje na programski brojač. Ukoliko je bit prenosa setovan, izvršava se sledeća instrukcija koja sledi. JNC se koristi i za poreñenje neoznačenih brojeva (0 do 65536).

Status bitovi Nema uticaja na status bitove

Primer I Vrši se sabiranje vrednosti iz R6 i BUFFER. Ukoliko doñe do prekoračenja, koristi se potprogram za obradu grešaka na adresi ERROR.

ADD R6, BUFFER ; BUFFER + R6 -> BUFFER JNC CONT ; Nema bita prenosa, skok na CONT

ERROR ...... ; Start potprograma za obradu grešaka ...... ...... ......

CONT ...... ; Nastavak normalnog toka programa ...... ......

Primer II Grananje na STL2 ako bajt STATUS ima vrednost 1 ili 0.

CMP.B #2, STATUS

JLO STL2 ; STATUS < 2 ...... ; STATUS Z 2, continue here

Page 41: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 41

JNE, JNZ Skok ako nije jednako, Skok ako nije nula

Sintaksa JNE labela, JNZ labela

Operacija Ako je Z=0: PC + 2*pomeraj -> PC Ako je Z=1: izvrši sledeću instrukciju Opis Testira se stanje bita nule (Z) u statusnom registru. Ako je bit nule resetovan, 10-

bitni pomeraj sa predznakom koji je sadržan u LSB-ovima instrukcije se dodaje na programski brojač. Ukoliko je bit nule setovan, izvršava se sledeća instrukcija koja sledi.

Status bitovi Nema uticaja na status bitove Primer I Skok na adresu MIPS ukoliko R7 i R8 imaju različite vrednosti.

CMP R7,R8 ; Poredi R7 i R8 JNE TONI ; ako su različiti: skok ...... ; ako su jednaki, nastavi odavde

Page 42: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 42

MOV[.W] Premeštanje vrednosti izvorišnog operanda u odredišni

MOV.B Premeštanje vrednosti izvorišnog operanda u odredišni

Sintaksa MOV src, dst ili MOV.W src, dst MOV.B src, dst

Operacija src -> dst

Opis Vrednost izvorišnog operanda se premešta u odredišni. Operacija ne menja

vrednost izvorišnog operanda, dok je prethodno stanje odredišnog operanda izbrisano.

Status bitovi Nema uticaja na status bitove Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I Podaci iz tabele MIPS (podeci veličine reči) se kopiraju u tabelu ELFAK. Veličina tabela bi trebalo da bude 020h lokacija.

MOV #MIPS, R10 ; Priprema pokazivača MOV #020h, R9 ; Priprema brojača Loop MOV @R10+, TOM-EDE-2(R10) ; Koristi se pokazivač u R10 za obe

; tabele DEC R9 ; Dekrementiranje brojača JNZ Loop ; Brojač <Z 0, nastavi sa kopiranjem ...... ; Kopiranje završeno

Primer II Podaci iz tabele MIPS (podeci veličine bajta) se kopiraju u tabelu ELFAK. Veličina tabela bi trebalo da bude 020h lokacija.

MOV #MIPS, R10 ; Priprema pokazivača MOV #020h, R9 ; Priprema brojača Loop MOV.B @R10+, TOM-EDE-1(R10) ; Koristi se pokazivač u R10 za

obe ; tabele DEC R9 ; Dekrementiranje brojača JNZ Loop ; Brojač <Z 0, nastavi sa

; kopiranjem ...... ; Kopiranje završeno

Page 43: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 43

NOP Nema operacije

Sintaksa NOP

Operacija Nema

Emulacija MOV #0, #0 Opis Ne izvode se nikakve operacije. Ova instrukcija se može koristiti za vreme

testiranja softvera ili za definisanje potrebnih pauza. Status bitovi Nema uticaja na status bitove

Instrukcija NOP se najčešće koristi za sledeće dve stvari:

•••• zadržavanje jedne, dve ili tri memorijske reči

•••• podešavanje tajminga izvršavanja softvera Napomena: Mogu se koristiti i druge insrukcije za emulaciju NOP-a I druge instrukcije se mogu koristiti za emuliranje NOP-a, koristeći rezličite brojeve ciklusa i reči: MOV 0(R4),0(R4) ; 6 ciklusa, 3 reči MOV @R4,0(R4) ; 5 ciklusa, 2 reči BIC #0,EDE(R4) ; 4 ciklusa, 2 reči JMP $+2 ; 2 ciklusa, 1 reč BIC #0,R5 ; 1 ciklus, 1 reč.

Page 44: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 44

* POP[.W] Premeštanje reči iz steka u odredišni operand

* POP.B Premeštanje bajta iz steka u odredišni operand

Sintaksa POP dst POP.B dst

Operacija @SP -> dst SP + 2 -> SP Emulacija MOV @SP+, dst ili MOV.W @SP+, dst Emulacija MOV.B @SP+, dst Opis Vrednost lokacije u steku na koju ukazuje pokazivač steka (TOS) se premešta u

odredišni operand. Nakon toga, pokazivač steka se inkrementira dva puta. Status bitovi Nema uticaja na status bitove Primer I Vrednosti R7 i statusnog registra su vraćene iz steka.

POP R7 ; Vraća vrednost R7 POP SR ; Vraća vrednost statusnog registra

Primer II Vrednost reči MIPS iz RAM-a je vraćena iz steka. POP.B MIPS ; LSB iz steka je vraćen u MIPS

Primer III Vrednosti R7 je vraćena iz steka. POP.B R7 ; LSB iz steka je vraćen u MIPS,

; MSB registra R7 is 00h

Primer IV Vrednost na koju ukazuje R7 i vrednost statusnog registra vraćene su iz steka. POP.B 0(R7) ; LSB iz steka je vraćen u bajt na koji ukazuje R7 : Primer: R7 = 203h ; Mem(R7) = LSB steka : Primer: R7 = 20Ah ; Mem(R7) = LSB steka POP SR

Napomena: Pokazivač na sistemski stek Pokazivač na sistemski stek se uvek inkrementira za dva. Ovo je obavezujuće jer se ovaj pokazivač ne koristi samo za POP instrukciju, već i za instrukciju RETI.

Page 45: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 45

PUSH[.W] Premeštanje reči iz izvorišnog operanda u stek

PUSH.B Premeštanje bajta iz izvorišnog operanda u stek

Sintaksa PUSH src ili PUSH.W src PUSH.B src

Operacija SP -2 -> SP src -> @SP Opis Pokazivač steka se dekrementira za dva, nakon čega se vrednost izvorišnog

operanda premešta u RAM adresiran od strane pokazivača steka (TOS). Status bitovi Nema uticaja na status bitove Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I Vrednosti statusnog registra i registra R8 se čuvaju na steku. PUSH SR ; čuvanje vrednosti statusnog registra PUSH R8 ; čuvanje vrednosti R8

Primer II Vrednosti iz TCDAT se čuvaju na steku. PUSH.B &TCDAT ; čuvanje vrednosti iz 8-bitnog modula Napomena: Pokazivač na sistemski stek Pokazivač na sistemski stek se uvek dekrementira za dva. Ovo je obavezujuće jer se ovaj pokazivač ne koristi samo za PUSH instrukciju, već i za obradu prekida.

Page 46: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 46

* RET Povratak iz potprograma

Sintaksa RET

Operacija @SP -> PC SP + 2 -> SP Emulacija MOV @SP+, PC Opis Povratna adresa prebačena u stek pomoću CALL instrukcije se upisuje u

programski brojač. Program nastavlja sa izvršavanjem na adresi instrukcije koja sledi nakon instrukcije poziva potprograma.

Status bitovi Nema uticaja na status bitove

Page 47: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 47

RETI Povratak sa obrade prekida

Sintaksa RETI

Operacija TOS -> SR SP + 2 -> SP TOS -> PC SP + 2 -> SP

Opis 1. U statusni registar se upisuje vrednost koja se nalazi na početku potprograma

za obradu prekida. Ovo se postiže time što se trenutna vrednost SR-a zameni vrednošću TOS-a. Pokazivač steka se inkrementira za dva.

2. U programski brojač se upisuje vrednost koja se nalazi na početku potprograma za obradu prekida. Ovo je korak koji sledi nakon prekida u toku izvršavanja programa. Ovo se postiže time što se trenutna vrednost PC-a zameni vrednošću TOS-a. Pokazivač steka se inkrementira za dva.

Status bitovi N: Obnovljeno informacijom iz sistemskog steka

Z: Obnovljeno informacijom iz sistemskog steka C: Obnovljeno informacijom iz sistemskog steka V: Obnovljeno informacijom iz sistemskog steka

Režimi rada OscOff, CPUOff i GIE su obnovljeni informacijom iz sistemskog steka

Primer Prekid se javio tokom izvršenja glavnog programa

Page 48: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 48

* RLA[.W] Aritmetičko rotiranje ulevo

* RLA.B Aritmetičko rotiranje ulevo

Sintaksa RLA dst ili RLA.W dst RLA.B dst

Operacija C <- MSB <- MSB-1 .... LSB+1 <- LSB <- 0

Emulacija ADD dst, dst ADD.B dst, dst Opis Odredišni operand se pomera (šiftuje)za jednu poziciju ulevo. MSB se pomera u

bit prenosa (C), a LSB postaje nula. Instrukcija RLA se ponaša kao množenje sa predznakom brojem dva.

Do prekoračenja dolazi ukoliko je if dst Z 04000h i dst < 0C000h pre izvoñenje operacije, odnosno dolazi do promene predznaka rezultata.

Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Učitava se iz MSB V: Setovan ako je došlo do prekoračenja, odnosno ukoliko je početna

vrednost operanda bila: 04000h Z dst < 0C000h, u drugom slučaju reset Setovan ako je došlo do prekoračenja, odnosno ukoliko je početna

vrednost operanda bila: 040h Z dst < 0C0h, u drugom slučaju reset

Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I R7 se množi sa 4. RLA R7 ; Pomeranje ulevo R7 (x 2) - emulirano sa: ADD R7,R7 RLA R7 ; Pomeranje ulevo R7 (x 4) - emulirano sa: ADD R7,R7 Primer II LSB R7 je pomnožen sa 4.

RLA.B R7 ; Pomeranje ulevo LSB R7 (x 2) - emulirano sa: ADD.B R7,R7 RLA.B R7 ; Pomeranje ulevo LSB R7 (x 4) - emulirano sa: ADD.B R7,R7

Napomena: RLA zamena Asembler ne prepoznaje sledeće instrukcije:

RLA @R5+ nor RLA.B @R5+. One moraju biti zamenjene sa:

ADD @R5+,-2(R5) or ADD.B @R5+,-1(R5).

Page 49: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 49

* RLC[.W] Rotiranje ulevo sa prenosom

* RLC.B Rotiranje ulevo sa prenosom

Sintaksa RLC dst ili RLC.W dst RLC.B dst

Operacija C <- MSB <- MSB-1 .... LSB+1 <- LSB <- C Emulacija ADDC dst, dst Opis Odredišni operand je pomeren (shifted) jednu poziciju ulevo. Bit prenosa (C) se

upisuje u LSB, dok se MSB upisuje u bit prenosa (C).

Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Učitava se iz MSB V: Setovan ako je došlo do prekoračenja, odnosno ukoliko je početna vrednost

operanda bila: 03FFFh < dst < 0C000h, u drugom slučaju reset Setovan ako je došlo do prekoračenja, odnosno ukoliko je početna vrednost

operanda bila: 03Fh < dst < 0C0h, u drugom slučaju reset

Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I R5 se pomera jednu poziciju ulevo. RLC R5 ; (R5 x 2) + C -> R5 Primer II Informacija sa pina P0IN.1 se pomera u LCB registra R5. BIT.B #2, &P0IN ; Informacija -> bit prenosa RLC R5 ; bit prenosa=P0in.1 -> LSB registra R5 Primer III Sadržaj memorije MEM(MIPS) je pomeren ulevo jednu poziciju. RLC.B LEO ; Mem(MIPS) x 2 + C -> Mem(MIPS)

Napomena: RLC i RLC.B zamena

Asembler ne prepoznaje sledeću instrukciju: RLC @R5+. Ona mora biti zamenjena sa:

ADD @R5+,-2(R5).

Page 50: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 50

RRA[.W] Aritmetičko rotiranje udesno

RRA.B Aritmetičko rotiranje udesno

Sintaksa RRA dst ili RRA.W dst RRA.B dst

Operacija MSB -> MSB, MSB -> MSB-1, ...LSB+1 -> LSB, LSB -> C

Opis Odredišni operand se rotira jednu poziciju udesno. MSB se rotira u MSB, onda se

MSB rotira u MSB-1, a LSB+1 se rotira u LSB.

Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Učitava se iz LSB V: Resetovan

Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Primer I R5 se rotira udesno jednu poziciju. MSB zadržava staru vrednost. Isti slučaj kao kod aritmetičkog deljenja sa 2.

RRA R5 ; R5/2 -> R5 ; Vrednost R5 se množi sa 0.75 (0.5 + 0.25) ; PUSH R5 ; čuva se R5 RRA R5 ; R5 x 0.5 -> R5 ADD @SP+, R5 ; R5 x 0.5 + R5 = 1.5 x R5 -> R5 RRA R5 ; (1.5 x R5) x 0.5 = 0.75 x R5 -> R5 ...... ...... ; ili ; RRA R5 ; R5 x 0.5 -> R5 PUSH R5 ; R5 x 0.5 -> TOS RRA @SP ; TOS x 0.5 = 0.5 x R5 x 0.5 = 0.25 x R5 -> TOS ADD @SP+, R5 ; R5 x 0.5 + R5 x 0.25 = 0.75 x R5 -> R5

Page 51: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 51

Primer II LSB registra R5 se rotira udesno jednu poziciju. MSB zadržava staru vrednost. Isti slučaj kao kod aritmetičkog deljenja sa 2.

RRA.B R5 ; R5/2 -> R5: Operacija se izvodi sam na LSB ; MSB registra R5 je resetovan ; Vrednost LSB-a registra R5 se množi sa 0.75 (0.5 + 0.25) ; PUSH.B R5 ; čuva se R5 RRA.B R5 ; R5 x 0.5 -> R5 ADD.B @SP+, R5 ; R5 x 0.5 + R5 = 1.5 x R5 -> R5 RRA.B R5 ; (1.5 x R5) x 0.5 = 0.75 x R5 -> R5 ...... ; ili ; RRA.B R5 ; R5 x 0.5 -> R5 PUSH.B R5 ; R5 x 0.5 -> TOS RRA.B @SP ;TOS x 0.5 = 0.5 x R5 x 0.5 = 0.25x R5 -> TOS ADD.B @SP+, R5 ; R5 x 0.5 + R5 x 0.25 = 0.75 x R5 -> R5 ......

Page 52: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 52

RRC[.W] Rotiranje udesno sa prenosom

RRC.B Rotiranje udesno sa prenosom Sintaksa RRC dst ili RRC.W dst RRC dst Operacija C -> MSB -> MSB-1 .... LSB+1 -> LSB -> C Opis Odredišni operand je pomeren (shifted) jednu poziciju udesno. Bit prenosa (C) se upisuje u MSB, dok se LSB upisuje u bit prenosa (C). Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Učitava se iz LSB V: Resetovan

Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I R5 se rotira udesno jednu poziciju. U MSB se upisuje 1. SETC ; PREPARE CARRY FOR MSB RRC R5 ; R5/2 + 8000h -> R5 Primer II R5 se rotira udesno jednu poziciju. U MSB se upisuje 1. SETC ; PREPARE CARRY FOR MSB RRC.B R5 ; R5/2 + 80h -> R5; Low byte of R5 is used

Page 53: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 53

* SBC[.W] Oduzimanje sa bitom prenosa

* SBC.B Oduzimanje sa bitom prenosa Sintaksa SBC dst or SBC.W dst SBC.B dst Operacija dst + 0FFFFh + C -> dst dst + 0FFh + C -> dst Emulacija SUBC #0,dst SUBC.B #0,dst Opis The carry C is added to the destination operand minus one. The previous contents of the destination are lost. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako je dst dekrementovan sa 0000 na 0FFFFh, u drugom slučaju

resetovan Setovan ako je dst inkrementovan sa 00 na 0FFh, u drugom slučaju resetovan

V: Setovan ako je bilo C=0 i dst=08000h Setovan ako je bilo C=0 i dst=080h Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I 16-bitni brojač na koji ukazuje R13 se oduzima od 32-bitnog brojača na koji ukazuje R12. SUB @R13,0(R12) ; Oduzmi LSD-ove SBC 2(R12) ; Oduzmi bit prenosa od MSD Primer II 8-bitni brojač na koji ukazuje R13 se oduzima od 16-bitnog brojača na koji ukazuje R12. SUB.B @R13,0(R12) ; Oduzmi LSD-ove SBC.B 1(R12) ; Oduzmi bit prenosa od MSD

Page 54: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 54

* SETC Postavljanje bita prenosa Sintaksa SETC Operacija 1 -> C Emulacija BIS #1,SR Opis Bit prenosa C je postavljen. Operacija koja je često neizbežna. Status bitovi N: Nema uticaja Z: Nema uticaja C: Setovan V: Nema uticaja Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer Emulacija decimalnog oduzimanja: Decimalno oduzimanje R5 od R6 Pretpostavimo da su R5=3987 i R6=4137 DSUB ADD #6666h,R5 ; premesti R5 od 0-9 ka 6-0Fh ; R5 = 03987 + 6666 = 09FEDh INV R5 ; Invertuj R5 (rezultat ponovo od 0-9) ; R5 = .NOT. R5 = 06012h SETC ; Postavi C = 1 DADD R5,R6 ; Emuliraj oduzimanje: ; (10000 - R5 - 1) ; R6 = R6 + R5 + 1 ; R6 = 4137 + 06012 + 1 = 1 0150 = 0150

Page 55: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 55

* SETN Postavi negativan bit Sintaksa SETN Operacija 1 -> N Emulacija BIS #4,SR Opis Negativan bit je postavljen. Status bitovi N: Setovan Z: Nema efekta C: Nema efekta V: Nema efekta Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Page 56: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 56

* SETZ Postavi bit nule Sintaksa SETZ Operacija 1 -> Z Emulacija BIS #2,SR Opis Bit nule Z je postavljen. Status bitovi N: Nema efekta Z: Setovan C: Nema efekta V: Nema efekta Režimi rada Nema uticaja na OscOff, CPUOff i GIE

Page 57: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 57

SUB[.W] Oduzimanje izvorišnog operanda od odredišnog

SUB.B Oduzimanje izvorišnog operanda od odredišnog Sintaksa SUB src,dst ili SUB.W src,dst SUB.B src,dst Operacija dst + .NOT.src + 1 -> dst ili [(dst - src -> dst)] Opis Vrši se oduzimanje izvorišnog operanda od odredišnog. Vrednost izvorišnog operanda ostaje nepromenjena, dok je prethodni sadržaj odredišnog operanda izgubljen. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako postoji bit prenosa iz MSB rezultata Setovan ako nema bita pozajmice, resetovan ako ga ima V: Setovan ako je došlo do prekoračenja Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I Videti primer kod instrukcije SBC Primer II Videti primer kod instrukcije SBC

Page 58: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 58

SUBC[.W], Oduzimanje sa bitom pozajmice

SBB[.W]

SUBC.B, Oduzimanje sa bitom pozajmice

SBB.B Sintaksa SUBC src,dst ili SUBC.W src,dst SBB src,dst ili SBB.W src,dst SUBC.B src,dst ili SBB.B src,dst Operacija dst + .NOT.src + C -> dst ili (dst - src - 1 + C -> dst) Opis Vrši se oduzimanje izvorišnog operanda od odredišnog. Vrednost izvorišnog operanda ostaje nepromenjena, dok je prethodni sadržaj odredišnog operanda izgubljen. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, u drugom slučaju resetovan C: Setovan ako postoji bit prenosa iz MSB rezultata Setovan ako nema bita pozajmice, resetovan ako ga ima V: Setovan ako je došlo do prekoračenja Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I Dve mantise (24 bitova) se oduzimaju jedna od druge. LSB-ovi su u R13 i R10, a MSB-ovi u R12 i R9. SUB.W R13,R10 ; 16-bitni deo, LSB-ovi SUBC.B R12,R9 ; 8-bitni deo, MSB-ovi Primer II 16-bitni brojač na koji ukazuje R13 se oduzima od 16-bitnog brojača u R10 i R11(MSD). SUB.B @R13+,R10 ; Oduzmi LSD-e bez bita prenosa SUBC.B @R13,R11 ; Oduzmi MSD-e sa bitom prenosa ...

Page 59: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 59

SWPB Zamena bajtova Sintaksa SWPB dst Operacija bits 15 to 8 <-> bits 7 to 0 Opis Vrši se zamena mesta višeg i nižeg bajta odredišnog operanda. Status bitovi N: Nema uticaja Z: Nema uticaja C: Nema uticaja V: Nema uticaja Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I MOV #040BFh,R7 ; 0100000010111111 -> R7 SWPB R7 ; 1011111101000000 in R7 Primer II Vrednost u R5 je pomnožena sa 256. Rezulat je smešten u R5 i R4 SWPB R5 ; MOV R5,R4 ;Iskopiraj izmenjenu vrednost u R4 BIC #0FF00h,R5 ;Popravi rezultat BIC #00FFh,R4 ;Popravi rezultat

Page 60: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 60

SXT Promena znaka Sintaksa SXT dst Operacija Bit 7 -> Bit 8 ......... Bit 15 Opis Znak iz nižeg bajta je produžen u viši bajt. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan

Z: Setovan ako je rezultat nula, resetovan ako nije C: Setovan ako rezultat nije nula, resetovan ako jeste

V: Resetovan Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer U R7 se učitava vrednost iz Tajmera. Operacija promene znaka upisuje vrednost bita 7 u bitove 8 do 15. R7 se onda dodaje na R6. MOV.B &TCDAT,R7 ; TCDAT = 080h:. . . .. . . .1000 0000 SXT R7 ; R7 = 0FF80h: 1111 1111 1000 0000 ADD R7,R6

Page 61: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 61

* TST[.W] Testiranje odredišnog operanda

* TST.B Testiranje odredišnog operanda Sintaksa TST dst ili TST.W dst TST.B dst Operacija dst + 0FFFFh + 1 dst + 0FFh + 1 Emulacija CMP #0,dst CMP.B #0,dst Opis Odredišni operand se poredi sa nulom. Statusni bitovi se postavljaju na osnovu rezultata operacije. Vrednost odredišnog bita se ne menja nakon izvršene operacije. Status bitovi N: Setovan ako je rezultat negativan, resetovan ako je pozitivan Z: Setovan ako je odredišni operand=0, resetovan ako nije C: Setovan V: Resetovan Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I Testira se R7. Ako je negativan, nastavi na labelu R7NEG; ako je pozitivan, ali ne nula, nastavi na R7POS. TST R7 ; Testira R7 JN R7NEG ; R7 je negativan? JZ R7ZERO ; R7 je nula? R7POS ...... ; R7 je pozitivan, različit od nule R7NEG ...... ; R7 je negativan R7ZERO ...... ; R7 je nula Primer II Testira se niži bajt R7. Ukoliko je negativan, nastavi na R7NEG; ako je pozitivan, ali različit od nule nastavi na R7POS. TST.B R7 ; Test niži bajt R7 JN R7NEG ; Niži bajt R7 je negativan? JZ R7ZERO ; Niži bajt R7 je nula? R7POS ...... ; Niži bajt R7 je pozitivan, različit od nule R7NEG ...... ; Niži bajt R7 je negativan R7ZERO ...... ; Niži bajt R7 je nula

Page 62: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 62

XOR[.W] Eksluzivna ILI operacija nad izvorišnim i odredišnim operandom

XOR.B Eksluzivna ILI operacija nad izvorišnim i odredišnim operandom Sintaksa XOR src,dst ili XOR.W src,dst XOR.B src,dst Operacija src .XOR. dst -> dst Opis Vrši se eksluzivna ILI operacija nad izvorišnim i odredišnim operandom. Rezultat se smešta u destinacioni operand, čiji je prethodni sadržaj izgubljen. Operacija nema uticaja na izvorišni operand. Status bitovi N: Setovan ukoliko je MSB rezultata setovan, u drugom slučaju resetovan

Z: Setovan ako je rezultat nula, resetovan ako nije C: Setovan ako rezultat nije nula, resetovan ako jeste

V: Setovan ukoliko su oba operanda negativna Režimi rada Nema uticaja na OscOff, CPUOff i GIE Primer I Ekskluzivna ILI operacija nad R6 i MIPS. XOR R6,MIPS Primer II Ekskluzivna ILI operacija nad nižim bajtovima R6 i MIPS. XOR.B R6,TONI Primer III Resetuju se bitovi u nižem bajtu R7 koji se razlikuju u odnosu na reč iz RAM prostora MIPS. XOR.B EDE,R7 ; Postavi različite bitove na '1' INV.B R7 ; Invertuj niži bajt

Page 63: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 63

LITERATURA

1. RISC, CISC I DSP PROCESORI, Mile K. Stojčev, I izdanje, Elektronski fakultet, Niš,

1997.

2. ARHITEKTURE I PROGRAMIRANJE RAČUNARSKIH SISTEMA ZASNOVANIH NA FAMILIJI PROCESORA 80x86, Mile K. Stojčev, Branislav D. Petrović, I izdanje,

Elektronski fakultet, Niš, 1999.

3. ZBIRKA ZADATAKA IZ MIKROPROCESORA I MIKRORAČUNARA, Mile K.

Stojčev, Saša S. Ristić, Miloš D. Krstić, I izdanje, Elektronski fakultet, Niš, 1999.

4. LABORATORIJSKI PRAKTIKUM IZ PREDMETA MIKROPROCESORSKI SISTEMI, Tatjana Stanković, Saša S. Ristić, Miloš D. Krstić, Ivan Andrejić, Mile K.

Stojčev, Elektronski fakultet,(Edicija Pomoćni Udžbenici) Niš, 2004.

5. http://es.elfak.ni.ac.rs – Laboratorija za Embedded Sisteme,Elektronski fakultet Niš

6. http://www.ti.com/msp430 – Texas Instruments, Experimenter's Board

MSP430

Page 64: MSP430 SET INSTRUKCIJA - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Papers/S.Jovanovic - MSP430 skup instrukcija.pdf · konstrukcije, generalizacije koda i za procesor slične manje bitne

SET INSTRUKCIJA MSP430

S t r a n a | 64

BIOGRAFIJA AUTORA

Prezime: Jovanović Ime: Srñan Datum roñenja: 07.12.1978 Adresa stanovanja: Laze Lazarevića 1, 37000 Kruševac E-mail: [email protected] Poznavanje jezika: Engleski; C/C++/C#