Centar za edukaciju-BiH



#1 03.10.2010 10:11
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Simbolicki Programski Jezik
Koncepcija simboličkog programskog jezika
Prvi složeniji, ali za programiranje lakši jezik od mašinskog je tzv. simbolički programski jezik, poznat u Iiteraturi pod nazivom ASEMBLER. Ovaj jezik je, ustvari, mašinski orijentisani jezik, ili jezik nižeg nivoa. Naziv simbolički ptogramski jezik dobio je zato što se mašinske instrukcije predstavljaju u siinboličkom obliku, tj. kodovi operacija i adrese operanada predstavljeni su alfabetskim i/ili numeričkim znacima, mada se oni ne mogu direktno izvršavati u računaru, već moraju prethodno biti prevodioci u interni mašinski kod, jedini razumljiv oblik predstavljanja znakova za računarski sistem. Postoje različiti nivoi ovog jezika u zavisnosti od toga da li je cijela mašinska instrukcija, ili određeni dio, u vidu memo koda. Ovi mnemo kodovi, tj. skraćenice, su obično riječi govomog jezika na primer MOVE (prenijeti) za operaciju prcnosa, ili određena skraćenica (MOV odnosno MVC takođe za operaciju prenosa), koje predstavljaju, odnosno, identifikuju određenu operaciju. Dalji napredak ovog jezika učinjen je dodjeljivanjem simboličkih imena (naziva) i oznaka adrosrina lokacija polja podataka u operativnoj memoriji. Nazivi se daju sasvim proizvoljno od strane onoga ko piše program i najčešće se daje skraćenica koja identifikuje podatak. Simbolički nazivi, odnosno, skraćenice se nazivaju simboličkim adresama. Razlika u načinu pisanja izmieđu inistrukcija mašinskog jezika i udgovarajućih instrukcija simboličkog programskog jezika ilustrovat će se sledećim primjerom. Razmotrimo prost primer za izračunavanje, tj. sabiranje, dva binarna broja locirana u opcrativnu memoriju i smiještanje rezultata (zbira) u treću momorijsku lokaciju. Da bi izvršili zadate operacije, koristit ćemo sposobnost registra radi smiještanja i čuvanja međurezultala u procesu računanja. Za izvršenje ovog primjera potrebne su, tri instrukcije i to:
1. ?LOAD ? napunia sadržaj sa prve memorijske lokacije u registar, koji je odabran, i koji će sl'užiti kao akumulator.
Ovom operacijom tj. instrukcijorn, vrši se prenos tekućeg sadržaja sa prve memorijske lokacije u registar. Tekući sadržaj sa prve memorijske lokacije,
poslije izvršenja instrukcije, ostaje nepromijenjen, dok se sadržaj registra zamjenjuje sa prenijetim sadržajem iz memorije.
2. ?ADD ? dodaj? sadržaj sa druge memorijske lokacije na sadržaj odabranog registra.
Izvršenjem ove instrukcije sadržaj sa druge memorijske lokacije ostaje nepromenjen, dok će se rezultat (zbir) sabiranja na?i u odabranom registru i
zamijenit će prethodni sadržaj.
3. ?STORE ? smjesti? sadržaj odabranog registra u treću meinorijsku lokaciju. Izvršenjem ove instrukcije zbir koji se nalazi u odabranom registru smiješta se u
treću memorijsku lokaciju, zamenjujući njen prethodni sadržaj.

Pretpostavimo sada da se u ovom primjeru prvi broj u binarnom obliku nalazi u memorijskoj lokaciji na adresi 848, a drugi broj, koji je takođe u binarnom obliku, u memorijskoj lokaciji na adresi 852 i da se sadržaj rezultata (zbir) treba uskladištiti na lokaciji u memoriji sa adresom 856. Uzmimo da je odabrani registar 6.

Poznato je da svaki program za rješenje bilo kog zadatka sadrži daleko više od tri instrukcije. Međutim, vidimo da naš dati primjer, i ako se sastoji samo iz tri instrukcije, zahtijeva pisanje 3x32=96 bitova nula i jedinica za specificiranje odgovarajućih instrukcija u mašinskom jeziku. Pisanje ovih biinarnih cifara (0 i 1) je mukotrpan posao i vrlo podložan greškama, čak i kod programa koji sadrži desetinu instrukcija, a da ne govorimo kod programa koji sadrže više desetina, ili stotina instrukcija. Samo iz ovog prostog primjera sagledava se da je pisanje, kao i čitanje, programa na mašinskom jeziku neobično teško i zahteva izuzetnu koncentraciju i strpljivost, pošto nema nikakvog korespodentnog odnosa između mašinskog i govomog jezika. Sam način pisanja može se uprostiti korišćenjem heksadecimalnog brojnog sistema, kao kraćeg oblika pisanja binarnih cifara. Efekat u pisanju se postiže tako što se svaka grupa od 4 binarne cifre zamjenjuje jednom heksadecimalnom cifrorn.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#2 02.02.2014 12:59
Registrovan od:02.02.2014
Postovi:1


Predmet:Re: Simbolicki Programski Jezik
Lijep pozdrav

Meni bi trebalo rjeÅ¡enje jednog sličnog zadatka, pa ako bi mi mogli pomoći da mi vizuelno prikažete rjeÅ¡avanje, poÅ¡to sam početnik i trebam krenuti od osnova.

Zadatak 1

U emulatoru procesora 8086, napisati ASM program koji će:
a) U registar CX upisati broj 10
b) U registar AX upisati broj 5
c) Sabrati sadržaje registara CX i AX, a rezultat smjestiti u CX (CX= CX+AX)

Zadatak 2

U emulatoru procesora 8086, napisati ASM program koji će:
a) u registar AX upisati broj 3
b) Shift sadržaj AX registra za 3 bita u desno.
c) Kako se mijenjaju rezultati Å¡iftanja?

HVAA UNAPRIJED
↑  ↓

#3 02.02.2014 18:09
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Simbolicki Programski Jezik
Zadatak1:
PreuzmiIzvorni kôd (Text):
  1. #make_boot#
  2.  
  3. org 7c00h      ; set location counter.
  4. ; Pocetak
  5. mov ax,05
  6. mov cx,10
  7. add cx,ax
  8. mov   ah , 4ch ; Kraj i povratak u dos
  9. int    21h

Zadatak 2:
a/mov ax,03
b/SHL ax,3
C/-neznam
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 7: 10 am.