Osnovi programiranja i programski jezici

Osnovi programiranja i programski jezici Osnovi programiranja i programski jezici

carstvolokvanja.com
from carstvolokvanja.com More from this publisher
06.04.2015 Views

JEDNOSTAVNI i8086 ASEMBLERSKI PROGRAMI Ako kreiramo u DOS-u jedan poddirektorijum sa nazivom ASS i radimo u ovom direktorijumu, onda pomoću jedne poznate DOS naredbe možemo u mašinskom kodu napisati program za ispisivanje bilo kojeg karaktera na monitor (ekran) računara. Iz DOS-a znamo, da svaki fajl pored naziva (ime fajla) ima i jednu ekstenziju, iz koje ekstenzije neki programi prepoznaju tip fajla. Na primer, *.pas je Pascal program, *.C je C program itd. Izvršni programi su (koji mogu odmah raditi): • *.exe i • *.com. Upisivanjem: copy con prvi.exe ENTER DOS (disk operativni sistem): Operativni sistem koji upravlja prenosom podataka od računara ka disk-jedinici i obratno. DOS je uvek sastavni deo softvera računara. Direktorijum (katalog): Spisak svih datoteka koje se nalaze na jednom nosiocu podataka sa direktnim pristupom (disketa, tvrdi disk, CD-ROM, drugi računar u mreži). Operativni sistem upravlja katalogom jednog nosioca podataka preko sistema za upravljanje datotekama. DOS naredbe kopiramo sa konzole (tastature) brojeve (mašinske instrukcije) direktno u prvi.exe fajl, koji fajl će biti snimljen na HD (Hard Disk – tvrdi disk) u radni direktorijum. Brojevi programa su sledeći: 180, 2, 178, 49, 205, 33, 205, 32. Upisivanje svakog broja je pomoću ALT tastera i broja, a na kraju posle otpuštanja tastera na ekranu će se pojaviti ASCII karakter broja, koji karakter ponekad ima čudan izgled. Posle upisivanja zednjeg broja sa CTRL Z znakom izlazimo iz copy programa, a istovremeno će i fajl biti snimljen u radni direktorijum. Sa dir DOS naredbom možemo izlistati sadržaj radnog direktorijuma, gde će se pojaviti prvi.exe fajl. Jednostavno će izvršiti računar program, ako ukucamo prvi.exe ENTER. Ako smo sve ispravno radili, na monitoru će biti ispisan broj 1. Moramo biti veoma oprezni kod programiranja u mašinskom kodu, jer već i greška od 1 bita može da blokira računarski sistem, ili će prouzrokovati nepoželjene akcije računara. Na slici 13. je listing istog programa, ali sad pored brojeva su i mnemonički kodovi naznačeni, odnosno nazivi registara. Kod programiranja u mašinskom kodu, a isto i u asembler programiranju najčešće koristimo heksadecimalni kodni sistem za brojeve. Ako preračunavamo 180d u heksadecimalni oblik, dobćemo B4h, 2d u heksadecimalni 02h itd. Slovo na kraju je oznaka za brojni sistem: • b – binarni, • d – decimalni i 76

• h – heksadecimalni. Slika 13.: Ispisivanje broja 1 na monitor računara PROGRAMSKI PAKET DEBUG Operativni sistem DOS IBM PC računara sadrži jedan ugrađeni programski paket za razvoj programa u asembleru. Program možemo pokrenuti sa ukucivanjem DEBUG naziva, nakon čega na monitoru će se pojaviti ‘-’ PROMPT (znak spremnosti). Ovde možemo ukucati naredbe (jedno slovo). Ako kucamo ‘?’ upitnik, dobićemo listu sa postojećim naredbama i eventualnim parametrima. Naredba ‘a’ je za aktiviranje veoma jednostavnog asemblera, u kojoj opciji DEBUG šalje na ekran segmentnu adresu i ofset adresu operativne memorije, odnosno mesto programa u memoriji. Pored ove adrese možemo ukucati naredbe mikroprocesora i8086 u mnemoničkom kodu i operande, koji mogu biti registri procesora, ili brojevi, a brojeve isključivo u heksadecimalnom obliku (bez h sufiksa). Pošto ne možemo raditi sa simboličnim adresama i promenljivama, ovaj asembler nije pravi asembler (prevodilac). Prelazak na sledeći asemblerski red je sa ENTER tasterom, gde opet možemo u mnemoničkom kodu zadati naredbu. Postupak nastavimo do zadnje operacije, a na kraju programa sa CTRL C znakom, napušta sistem asemblera i ponovo je u DEBUG modu. Valja napomenuti, da kod upisivanja mašinskih kodova pomoću copy naredbe DOS operativni sistem šalje program na tvrdi disk, dok upisivanje preko DEBUG-a je praktično asembliranje, a prevedeni program će biti direktno upisan u operativnu memoriju, a pošto je izvršni kod, može momentalno da radi. Prethodno napisani postupak je na Slici 14. Slika 14.: Upisivanje programa pomoću ‘a’ (asembliranje opcije DEBUG-a u operativnu memoriju i izvršenje programa sa ‘g' naredbom 77

• h – heksadecimalni.<br />

Slika 13.: Ispisivanje broja 1 na monitor računara<br />

PROGRAMSKI PAKET DEBUG<br />

Operativni sistem DOS IBM PC računara sadrži jedan ugrađeni <strong>programski</strong> paket za<br />

razvoj programa u asembleru. Program možemo pokrenuti sa ukucivanjem DEBUG<br />

naziva, nakon čega na monitoru će se pojaviti ‘-’ PROMPT (znak spremnosti). Ovde<br />

možemo ukucati naredbe (jedno slovo). Ako kucamo ‘?’ upitnik, dobićemo listu sa<br />

postojećim naredbama i eventualnim parametrima.<br />

Naredba ‘a’ je za aktiviranje veoma jednostavnog asemblera, u kojoj opciji DEBUG<br />

šalje na ekran segmentnu adresu i ofset adresu operativne memorije, odnosno mesto<br />

programa u memoriji. Pored ove adrese možemo ukucati naredbe mikroprocesora<br />

i8086 u mnemoničkom kodu i operande, koji mogu biti registri procesora, ili brojevi, a<br />

brojeve isključivo u heksadecimalnom obliku (bez h sufiksa). Pošto ne možemo raditi<br />

sa simboličnim adresama i promenljivama, ovaj asembler nije pravi asembler<br />

(prevodilac). Prelazak na sledeći asemblerski red je sa ENTER tasterom, gde opet<br />

možemo u mnemoničkom kodu zadati naredbu. Postupak nastavimo do zadnje<br />

operacije, a na kraju programa sa CTRL C znakom, napušta sistem asemblera i<br />

ponovo je u DEBUG modu.<br />

Valja napomenuti, da kod upisivanja mašinskih kodova pomoću copy naredbe DOS<br />

operativni sistem šalje program na tvrdi disk, dok upisivanje preko DEBUG-a je<br />

praktično asembliranje, a prevedeni program će biti direktno upisan u operativnu<br />

memoriju, a pošto je izvršni kod, može momentalno da radi.<br />

Prethodno napisani postupak je na Slici 14.<br />

Slika 14.: Upisivanje programa pomoću ‘a’<br />

(asembliranje opcije DEBUG-a u operativnu<br />

memoriju i izvršenje programa sa ‘g'<br />

naredbom<br />

77

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

Saved successfully!

Ooh no, something went wrong!