Osnovi programiranja i programski jezici
Osnovi programiranja i programski jezici Osnovi programiranja i programski jezici
istrukcije su veome slične instrukcijama oduzimanja (sub), sa razlikom da operandi ostaju nepromenjeni. Operacije transfera podataka (mov) ne određuju vrednosti zastavica, naime kod transfera podataka ne koristi se aritmetičko-logička jedinica, nasuprot tome cmp radi preko ALU jedinice. U programu za testiranje rezultata upoređivanja konkretno se koristi Z (zero) bit. Najvažniji indikatori su: • indikator nule (Zero flag) je specijalizovani indikator koji služi za ispitivanje vrednosti smeštene u akumulator, u slučaju da je, posle neke operacije, vrednost svih bitova u akumulatoru jednaka nuli, indikator nule će imati logičku vrednost jedan (Z = 1), a ako bar jedan bit u akumulatoru ima vrednost jedinicu ( (A) ≠ 0), indikator nule će imati logičku vrednost nulu (Z = 0), • indikator prenosa (Carry flag) je specijalizovani indikator, koji registruje prekoračenje nastalo u akumulatoru, u slučaju da rezultat neke aritmetičke operacije nije moguće smestiti u akumulator (zbog prekoračenja, odnosno negativnog prekoračenja), indikator prenosa će dobiti logićku vrednost jedan (C = 1). 5. Zadatak: Program treba da realizije logičku I funkciju između dva osmobitna broja, zatim treba da ispiše brojeve i rezultat. Program mora da briše ekran. Za realizaciju ponovljenih delova programa treba koristiti potprogram (ispisivanje teksta, brojeva). Listing programa je: ;******************************************************************** Prog05 Segment ;definicija segmenta assume CS:Prog05,DS:Prog05 ;pocetak CS i DS segmenta ;******************************************************************** Start:mov ax,Prog05 ;pocetak na DS mov ds,ax ;******************************************************************** mov ax,0b800h ;adresa video memorije u es registar mov es,ax ;******************************************************************** mov ax,3 ;brisanje ekrana int 10h ;******************************************************************** mov di,0*160 ;pozicija 1. teksta (0,0) mov si,offset TEKST1 ;pocetna adresa TEKST1 call tekstisp ;ispisivanje teksta ;******************************************************************** mov bl,byte ptr [BR1] ;prvi broj call brojisp ;ispisivanje broja ;******************************************************************** mov di,1*160 ; pozicija 2. teksta (1,0) mov si,offset TEKST2 ; pocetna adresa TEKST2 call tekstisp ;ispisivanje teksta ;******************************************************************** mov bl,byte ptr [BR2] ;drugi broj call brojisp ;ispisivanje broja ;******************************************************************** mov di,2*160 ;pozicija teksta ‘REZULTAT’ 88
mov si,offset TEKST3 ;pocetna adresa TEKST3 call tekstisp ;ispisivanje teksta ;******************************************************************** mov bl,byte ptr [BR1] ;prvi broj and bl,byte ptr [BR2] ;BR1 AND BR2 call brojisp ;ispisivanje broja ;******************************************************************** mov ax,0 ;cekanje na taster int 16h ;******************************************************************** kraj: mov ax,4c00h ;nazad u DOS int 21h ;******************************************************************** ;#################################################################### tekstisp Proc ;rutina za ispisivanje teksta mov cx,16 ;tekst ima ukupno 16 karaktera mov ah,15 ;crna pozadina, beli karakter ;******************************************************************** cikl1:mov al,[si] ;karakter u al mov es:[di],ax ;karakter u video memoriju add di,2 ;sledeca pozicija inc si ;sledeci karakter loop cikl1 ;cx=cx-1 i skok ako je cx0 ret ;povratak u glavni program szovir Endp ;kraj potprograma ;#################################################################### ;******************************************************************** ;#################################################################### brojisp Proc ;potprogram za ispisivanje ;broja add di,6 ;+ 3 pozicije mov cx,8 ;broj je osmobitni mov ah,15 ;crna pozadina, beli karakter ;******************************************************************** cikl2:mov al,48 ;ASCII kod nule (0) shl bl,1 ;CY
- Page 38 and 39: oliver% Dodamo li naredbi ls opciju
- Page 40 and 41: • g-grupa, • o-ostali i • a-s
- Page 42 and 43: namenjena spajanju datoteka. Takođ
- Page 44 and 45: Kao što smo mogli preusmeravati st
- Page 46 and 47: n :[%]s/str1/str2/[g] ponovi pretra
- Page 48 and 49: TRAŽENJE DATOTEKE Ponekad kada ima
- Page 50 and 51: Također ovde imamo ime trenutno ak
- Page 52 and 53: [Connection established^G^G^G] Ta i
- Page 54 and 55: Izaberimo opciju C COMPOSE MESSAGE
- Page 56 and 57: Pogledajmo ukratko koje naredbe raz
- Page 58 and 59: inary bye cd close get udaljena-dat
- Page 60 and 61: POJAM SOFTVERA UVOD Realizacijom, n
- Page 62 and 63: ASEMBLER Zbog nepreglednosti progra
- Page 64 and 65: INSTRUKCIJE RAČUNARA S opšteg sta
- Page 66 and 67: Instrukcije možemo još svrstati u
- Page 68 and 69: Slika 9. : Funkcionalna blokšema m
- Page 70 and 71: izuzev onih koji se koriste registr
- Page 72 and 73: TEHNIKA PISANJA PROGRAMA NA ASEMBLE
- Page 74 and 75: ZAPIS UNOŠENJE PROGRAMA U MNEMONI
- Page 76 and 77: JEDNOSTAVNI i8086 ASEMBLERSKI PROGR
- Page 78 and 79: Na slici 164C je adresa kod segment
- Page 80 and 81: izlistamo program, potražimo red,
- Page 82 and 83: STRUKTURA *.exe I *.com IZVRŠNIH P
- Page 84 and 85: o Ako postoji greška, sa editorom
- Page 86 and 87: mov es,ax ;************************
- Page 90 and 91: ali se ne može zasebno izvršiti.
- Page 92 and 93: mov es:[di-12],ax ;****************
- Page 94 and 95: ;**********************************
- Page 96 and 97: CHOICE:db "PRVI",0 db "DRUGI",0 db
- Page 98 and 99: Krajem drugog svetskog rata, engles
- Page 100 and 101: "osećaj", a kod čoveka još i sam
- Page 102 and 103: simuliranja ponašanja čoveka-eksp
- Page 104 and 105: verovatne procene, prognostički si
- Page 106 and 107: znanja s podacima. Ugrađene strate
- Page 108 and 109: koje daje čovek-ekspert. Predstavl
- Page 110 and 111: Neke tehnike sticanja znanja za ES,
- Page 112 and 113: obeleženog usmerenog grafa. Svako
- Page 114 and 115: Tabela 15.: Tabela odlučivanja 1 2
- Page 116 and 117: Za razliku od proceduralnih jezika,
- Page 118 and 119: Ne_pije(petar). Vozac_autobusa(dusa
- Page 120 and 121: SINTAKSA I SEMANTIKA PROLOGA Abeced
- Page 122 and 123: * */ /* GLAVNI GRADOVI */ /* */ /**
- Page 124 and 125: Lista (a, lista (c, prazno)). LISTA
- Page 126 and 127: izračunavanja. Korišćenjem ovog
- Page 128: LITERATURA • Berković, Ivana: El
istrukcije su veome slične instrukcijama oduzimanja (sub), sa razlikom da operandi<br />
ostaju nepromenjeni. Operacije transfera podataka (mov) ne određuju vrednosti<br />
zastavica, naime kod transfera podataka ne koristi se aritmetičko-logička jedinica,<br />
nasuprot tome cmp radi preko ALU jedinice.<br />
U programu za testiranje rezultata upoređivanja konkretno se koristi Z (zero) bit.<br />
Najvažniji indikatori su:<br />
• indikator nule (Zero flag) je specijalizovani indikator koji služi za<br />
ispitivanje vrednosti smeštene u akumulator, u slučaju da je, posle neke<br />
operacije, vrednost svih bitova u akumulatoru jednaka nuli, indikator<br />
nule će imati logičku vrednost jedan (Z = 1), a ako bar jedan bit u<br />
akumulatoru ima vrednost jedinicu ( (A) ≠ 0), indikator nule će imati<br />
logičku vrednost nulu (Z = 0),<br />
• indikator prenosa (Carry flag) je specijalizovani indikator, koji<br />
registruje prekoračenje nastalo u akumulatoru, u slučaju da rezultat<br />
neke aritmetičke operacije nije moguće smestiti u akumulator (zbog<br />
prekoračenja, odnosno negativnog prekoračenja), indikator prenosa će<br />
dobiti logićku vrednost jedan (C = 1).<br />
5. Zadatak: Program treba da realizije logičku I funkciju između dva osmobitna broja,<br />
zatim treba da ispiše brojeve i rezultat. Program mora da briše ekran. Za realizaciju<br />
ponovljenih delova programa treba koristiti potprogram (ispisivanje teksta, brojeva).<br />
Listing programa je:<br />
;********************************************************************<br />
Prog05 Segment ;definicija segmenta<br />
assume CS:Prog05,DS:Prog05 ;pocetak CS i DS segmenta<br />
;********************************************************************<br />
Start:mov ax,Prog05 ;pocetak na DS<br />
mov ds,ax<br />
;********************************************************************<br />
mov ax,0b800h ;adresa video memorije u es<br />
registar<br />
mov es,ax<br />
;********************************************************************<br />
mov ax,3 ;brisanje ekrana<br />
int 10h<br />
;********************************************************************<br />
mov di,0*160 ;pozicija 1. teksta (0,0)<br />
mov si,offset TEKST1 ;pocetna adresa TEKST1<br />
call tekstisp ;ispisivanje teksta<br />
;********************************************************************<br />
mov bl,byte ptr [BR1] ;prvi broj<br />
call brojisp ;ispisivanje broja<br />
;********************************************************************<br />
mov di,1*160 ; pozicija 2. teksta (1,0)<br />
mov si,offset TEKST2 ; pocetna adresa TEKST2<br />
call tekstisp ;ispisivanje teksta<br />
;********************************************************************<br />
mov bl,byte ptr [BR2] ;drugi broj<br />
call brojisp ;ispisivanje broja<br />
;********************************************************************<br />
mov di,2*160 ;pozicija teksta ‘REZULTAT’<br />
88