Osnovi programiranja i programski jezici
Osnovi programiranja i programski jezici
Osnovi programiranja i programski jezici
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
;********************************************************************<br />
mov ds,ax<br />
mov ax,0b800h ;adresa video memorije u es registar<br />
mov es,ax<br />
;********************************************************************<br />
mov al,byte ptr [Y] ;y<br />
mov ah,0<br />
mov bl,160 ;0. red 80 * 2 bajt<br />
mul bl ;ax = al * bl<br />
mov di,ax ;upisati u di<br />
;********************************************************************<br />
mov al,byte ptr [X] ;x<br />
mov ah,0<br />
mov bl,2 ;x * 2<br />
mul bl<br />
add di,ax ;pozicija karaktera u memoriji<br />
;********************************************************************<br />
mov ah,byte ptr [BOJA] ;kod boje<br />
mov si,offset TEKST ;adresa teksta u si<br />
;********************************************************************<br />
cikl: mov al,[si] ;podatak u al registar<br />
(karakter)<br />
cmp al,0 ;kraj teksta?<br />
jz kraj ;da, kraj<br />
mov es:[di],ax ;karakter u video memoriju<br />
add di,2 ;sledeca pozicija u<br />
memoriji<br />
inc si ;sledeci karakter<br />
jmp cikl ;stampati dalje<br />
;********************************************************************<br />
kraj: mov ax,4c00h ;nazad u DOS<br />
int 21h<br />
;********************************************************************<br />
X: db 30 ;pozicija teksta<br />
Y: db 12<br />
TEKST: db "VISA TEHNICKA SKOLA - SUBOTICA",0<br />
BOJA: db 7<br />
;********************************************************************<br />
Prog04 Ends ;kraj segmenta<br />
End Start<br />
;********************************************************************<br />
Analiza program:<br />
Labela (label) je posebna oznaka jedne<br />
programske naredbe (programskog reda).<br />
Labela omogućava uspostavljanje veze<br />
između označene programske naredbe i<br />
nekog drugog dela programa. Ova veza se<br />
obično uspostavlja naredbom skoka,<br />
odnosno naredbom pozivanja potprograma<br />
(rutine). U asembleru posle labele mora da<br />
bude znak ‘:’ (dvotačka).<br />
Za upoređivanje dve vrednosti koriste se<br />
operacije cmp. Ove instrukcije zavisno od<br />
rezultata upoređivanja određuju indikatorske<br />
bitove (C, Z i O), setuju ili resetuju ih. Te<br />
Indikator (flag - zastavica): Indikatori<br />
su univerzalno primenljivi<br />
kontrolni bitovi, koji se često koriste<br />
u mikroprocesorima. Oni pokazuju<br />
postojanje, odnosno nepostojanje<br />
određenog stanja sistema,<br />
ispunjenje, odnosno neispunjenje<br />
određenog uslova, kao i specijalne<br />
događaje u sistemu. Menjanje<br />
vrednosti indikatora može biti<br />
prouzrokovano određenim<br />
instrukcijama unutar sistema ili<br />
nekim spoljnim događajem.<br />
87