Professional Documents
Culture Documents
Assembler Skripta
Assembler Skripta
Npr. 8B d8
ASSEMBLER
Najnia razina komunikacije raunalo-ovjek je strojni jezik.
Via razina komunikacije: zamjena binarnog zapisa sa simbolikim prikazom.
Strojni jezik je u binarnoj notaciji (heksadecimalnoj) te je kao takav teko razumljiv ovjeku
pa ga prevodimo u programski jezik. To je assembler.
Assembler je programski, simboliki jezik.
- karakteristian je za svaku strojnu arhitekturu
- mora biti preveden u strojni jezik kako bi se izvodio
- svaka assemblerska instrukcija odgovara jednoj strojnoj instrukciji.
STROJNI KOD rezultat prevoenja (asembliranja) asemblerskog koda.
ASEMBLIRANJE = PREVOENJE
najvea vrijednost
MSB (predznak)
INSTRUKCIJE:
0
LSB
a)
b)
c)
d)
za obradu podataka
za pohranjivanje podataka
za prijenos podataka
upravljake instrukcije
AVR ASSEMBLER
AVR STUDIO
- To je simulator koji simulira izvoenje programa
- Ima 8 bitni RISC procesor, veoma brzi, mali broj jednostavnih instrukcija.
- 32 ope namjenska registra (Ro R31)
AVR assemblerski program sadrava:
a) direktive
b) instrukcije
c) labele
d) komentar
AVR DIREKTIVE poinju sa tokom (.def, .equ). One se ne izvravaju. Izvravaju se
instrukcije.
AVR LABELE se ne izvravaju. One su simboliko ime za adresu slijedee instrukcije.
Asembleri odreuju te adrese. Labela se oznaava dvotokom (:)
AVR KOMENATAR zapoinje sa toka-zarez (;). Iza njega se ne asemblira.
AVR STUDIO PRIKAZUJE:
- tijek izvoenja
- stanje registara
- stanje i sadraj memorije
- stanje i sadraj ulaza i izlaza
- statusni registar
- programsko brojilo
- pokaziva adrese stoga
- adresne registre X, Y, Z
INSTRUKCIJE I DIREKTIVE
1. USPOREDBA/KOMPARACIJA/COMPARE
- usporeuje sadraj 2 registra
- usporedba je oduzimanje dvije vrijednosti
npr.
a) ako je razlika dvaju brojeva 0 onda su brojevi jednaki (Z)
b) ako je razlika negativan broj, onda je prvi broj manji (N)
c) ako je razlika pozitivan broj, onda je prvi broj vei (C)
-
Load immediate
Add without carry
Add with carry
Subtract without carry
SBC
SUBI
SBCI
CP
CPI
CPC
COM
Subtract immediate
0 0 1 0 0 0 1
1 0 0 1 0 0 0 1
ROTACIJA
Bit koji je ispao e prijei u statusni registar i to je carry bit.
Novi bit dolazi iz Carry.
Postoji rotacija u lijevo i desno.
U statusnom registru osim carry bit ima takoer i Z bit i N bit.
Z registar sadri nulu ako je rezultat nula (Z _ zero)
- on identificira rezultat koji je nula
N registar sadi negativan broj, on detektira izvravanje instrukcije ako je rezultat negativan.
Registri carry, N i Z omoguuju nam komparaciju.
PORT REGISTRI - su ulazno izlazni registri koji mogu samo primiti ili dati rezultat, U
njima vidimo binarne a ne hexadec.vrijednosti.
Instrukcije:
CP - komparira A i B
BR - branch = grananje
NE - not equal (ne jednako)
NOP - ne radi nita, samo koristi procesor
INC - dodaje jedinice (inkrementiranje)
LT - less than
GE - vee ili jednako
LSL - logiki shift lijevo (left)
LSR - logiki shift desno (right)