06.04.2015 Views

Osnovi programiranja i programski jezici

Osnovi programiranja i programski jezici

Osnovi programiranja i programski jezici

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!