Upload
keefer
View
42
Download
0
Embed Size (px)
DESCRIPTION
Načela programiranja u asemblerskom jeziku. Svaki procesor ima svoj vlastiti skup instrukcija koji razumije. Instrukcija se sastoji od : -operacijskog koda (koji kaže koju operaciju treba izvršiti) - PowerPoint PPT Presentation
Citation preview
Načela programiranja u asemblerskom jeziku
• Svaki procesor ima svoj vlastiti skup instrukcija koji razumije. Instrukcija se sastoji od :
-operacijskog koda (koji kaže koju operaciju treba izvršiti)
-polje načina adresiranja i adresnog dijela (koji kaže gdje se nalaze
operandi i gdje smjestiti rezulat)
• Operacijski kod dobiva svoju slovčanu kraticu koja podsjeća na djelovanje instrukcije a adrese operanada i rezultata dobivaju svoja simbolička imena.
• Tako su najčešći mnemonici za ar. log. instrukcije:
• ADD zbrojiti (od englekog add — zbrojiti);• SUB oduzeti (od engleskog subtract —
oduzeti);• MUL pomnožiti (od engleskog multiply —
pomnožiti)• DIV podijeliti (od engleskog divide —
podijeliti)
• DEC smanjiti za jedan (od engleskog decrement — smanjiti)
• INC povećati za jedna (od engleskog inerement — povećati)
• S obzirom da je vrlo često potrebno premještati podatke iz pojedinih registara procesora u spremnik i obrnuto ili jednog registra u drugi, često se koristi instrukcija za premještanje s mnemonikomMOV premjestiti (od engleskog move — pomaknuti).
Uz taj mnemonik uvijek se moraju napisati dvije adrese:1. adresa ishodišta, tj. adresa odakle dolazi podatak, koju pišemo kao <src>,2.adresa odredišta, tj. adresa kamo se podatak premješta, koju pišemo kao <dest>
• Tako se općenito piše:MOV <dest> <src> (premjesti sadržaj sa druge adrese na prvu)
• Program napisan u asembleru prevodi se u strojni jezik i to radi program već ugrađen u asembler.
• Programiranje u asembleru je i dalje teško pa su nastali viši programski jezici gdje više naredbi asemblera je zamijenjeno jednom naredbom višeg programskog jezika pa su ti programi kraći i razumljiviji.
• Međutim i njih treba prevesti u strojni oblik prije izvođenja. To rade posebni programi za prevođenje- kompajleri.
• Primjer 1.
ADD X,Y znači zbroji X+Y i rezultat spremi u x
• Primjer 2.
• Treba izračunati izraz X+Y/Z i rezultat staviti u A. X, Y I Z su neke varijable spremljene na adresama čiji su mnemonički simboli X, Y I Z.
MOV A,Y -stavljamo u ak. A varijablu Y
DIV A,Z -dijelimo sadržaj A sa Z, rez.u A tj.(A)(A/Z)
ADD A,X -zbrajamo sadržaj ak. sa X
• Primjer 3. Izračunati X+(Y*Z-V/W). Rezultat spremiti na neku adresu C.
MOV A,V
DIV A / W
MOV C,A
MOV A,Y
MUL A,Z
SUB A,C
ADD A,X
MOV C,A
• Instrukcije ponekad mogu biti jednoadresne. Tada se jedan operand stavlja u akumulator. Pri tome se operacija obavlja između sadržaja akumulatora i drugog operanda a rezultat ponovo ide u akumulator. Pri tome koristimo naredbu za stavljanje podatka u akumulator LOAD a za spremanje sadr. ak. na neku drugu adresu STORE.
• Primjer:
1.X+Y/Z
2. C=X+(Y*Z-V/W)
1.
LOAD Y
DIV Z
ADD X
STORE C
• 2.
LOAD V
DIV W
STORE C
LOAD Y
MUL Z
SUB C
ADD X
STORE C