RACUNARSKA ELEKTRONIKA – VEŽBE 3
|
|
- Boro Pavlin
- пре 5 година
- Прикази:
Транскрипт
1 RAČUNARSKA ELEKTRONIKA VEŽBE 3 Aleksandra Lekić lekic.aleksandra@etf.bg.ac.rs Elektrotehnički fakultet, Univerzitet u Beogradu 2015/2016 ETF Beograd RE VEŽBE / / 30
2 Procedure Procedure Organizacijom koda u okviru procedura koje obavljaju specifične zadatke vrši se podela programa na manje programske jedinice koje su preglednije, pogodnije za odvojeno testiranje, sam program se lakše održava, dok se neki delovi koda mogu efikasnije ponavljati. Korišćenje asemblerskih procedura je omogućeno pomoću dve instrukcije: CALL stavlja na stek povratnu adresu i preusmerava tok programa na prvu instrukciju procedure. RET instrukcija vraća sa steka povratnu adresu i usmerava tok programa na instrukciju koja se nalazi na toj adresi. ETF Beograd RE VEŽBE / / 30
3 Procedure Procedure PROC i ENDP direktive označavaju početak i kraj procedure. PROC može automatski da: Sačuva vrednosti registara koji se ne smeju menjati u proceduri, ali ih procedura ipak koristi. Podesi lokalni pokazivač steka tako da se može pristupati lokalnim promenjivama koje se nalaze na steku. Podesi vrednost pokazivača steka kada se završi procedura. ETF Beograd RE VEŽBE / / 30
4 Procedure Definisanje procedure Potrebno je specificirati labelu na početku i RET instrukciju na kraju procedure. Procedure se definišu korišćenjem PROC direktive na početku procedure i ENDP direktive na kraju. RET instrukcija se navodi neposredno pre ENDP direktive. label PROC... RET constant label ENDP CALL instrukcija stavlja na stek adresu prve naredne instrukcije i preusmerava tok programa na adresu prve instrukcije procedure. Sintaksa CALL instrukcije je: CALL {label/register/memory} ETF Beograd RE VEŽBE / / 30
5 Procedure Prosleđivanje preko steka Pozivom procedure smatra se da su parametri koji se prosleđuju promenljivi. Parametri se mogu proslediti registarski, memorijski ili preko steka. Svakom argumentu koji se prenosi preko steka se pristupa relativno u odnosu na adresu u EBP registru koji ukazuje na vrh steka. ETF Beograd RE VEŽBE / / 30
6 Procedure Prosleđivanje preko steka ETF Beograd RE VEŽBE / / 30
7 Procedure Prosleđivanje preko steka ETF Beograd RE VEŽBE / / 30
8 Procedure Deklarisanje parametara procedure Deklarisanje parametara procedure Mogu se deklarisati registri koji se koriste u okviru procedure, dati parametri procedure i doedeliti simbolička imena promenljivih (umesto ofseta u EBP registru). label PROC [attributes][uses reglist][,][parameter[:tag]]... ETF Beograd RE VEŽBE / / 30
9 Procedure Deklarisanje parametara procedure Deklarisanje parametara procedure Argument label attributes reglist parameter Opis Ime procedure. Nekoliko atributa procedure: vidljivost, langtype, udaljenost... Imena registara koji se koriste uz ključnu reč USES. Odvojeni su razmakom imena. Pozivom procedure se vrednosti ovih registara stavljaju na stek, a izlaskom iz procedure skidaju sa steka. Lista parametara koji se prosleđuju proceduri preko steka. Može biti proizvoljan broj parametara. ETF Beograd RE VEŽBE / / 30
10 Procedure Deklarisanje parametara procedure Deklarisanje parametara procedure - atributi procedure Atribut distance langtype visibility prologuearg Opis Kontroliše format generisane RET instrukcije. Može biti NEAR ili FAR i deklariše ga.model. NEAR je za TINY, SMALL, COMPACT i FLAT. FAR je za MEDIUM, LARGE i HUGE. Determiniše calling konvenciju i može biti C, BASIC, FORTRAN i PASCAL. Može biti PRIVATE, PUBLIC i EXPORT. Ako ništa nije rečeno, smatra se da je PUBLIC. EXPORT pravi izvršnu (.exe) proceduru, isto public. Utiče na generisanje prologue i epilogue koda. ETF Beograd RE VEŽBE / / 30
11 Procedure Deklarisanje parametara procedure Deklarisanje parametara procedure - parametri procedure Ukoliko se pišu u redu sa atributima, odvajaju se međusobno razmakom. Ako se pišu u novom redu, odvaja se zarezom. Format parametra je parameter[:tag]. parameter je ime parametra, a tag je tip parametra ili ključna reč VARARG (koju može da ima samo poslednji argument u listi). ETF Beograd RE VEŽBE / / 30
12 Procedure Primer model flat,stdcall 3.stack ExitProcess proto,dwexitcode:dword 5 6.data 7 var1 dword 10 8 var2 dword 20 9 var3 dword var4 dword? code 13 saberi proc c uses eax, 14 arg1:dword, arg2:dword, arg3:dword 15 mov eax, arg1 16 add eax, arg2 17 add eax, arg3 18 mov var4, eax 19 ret 20 saberi endp main proc 23 push var3 ; stavi na stek 24 push var2 25 push var1 26 call saberi ; poziv procedure 27 add esp, 3 4 ; unistava podatke sa steka invoke ExitProcess,0 30 main endp 31 end main ETF Beograd RE VEŽBE / / 30
13 Procedure Primer 1 VARARG parametar procedure Dodavanjem :VARARG poslednjem parametru se označava da procedura prihvata proizvoljan broj parametara. Pre :VARARG se mora navesti ime da se označi u odnosu na koju adresu se pristupa parametrima sa ofsetom. ETF Beograd RE VEŽBE / / 30
14 Procedure Primer model flat,stdcall 3.stack ExitProcess proto,dwexitcode:dword 5 6.code 7 varargproc PROC c, argcount:word, arg1:vararg 8 xor eax, eax ; EAX = 0 9 xor esi, esi ; ESI = 0 10 addarguments: 11 cmp argcount, 0 12 jbe finish 13 add eax, arg1[esi] 14 dec argcount 15 add esi, 4 16 jmp addarguments 17 finish: 18 ret 19 varargproc ENDP main proc 22 mov eax, 10h ; EAX = 10h 23 mov ebx, 20h ; EBX = 20h 24 mov ecx, 30h ; ECX = 30h 25 push ecx 26 push ebx 27 push eax 28 push 3 ; stavlja na stek call varargproc 31 add esp, invoke ExitProcess,0 33 main endp 34 end main ETF Beograd RE VEŽBE / / 30
15 Procedure Lokalne promenljive Lokalne promenljive Lokalne promenljve su vidljive samo u okviru procedure. Potrebno je rezervisati mesto na steku za njih. Zatim im se može pristupiti ofestom u odnosu na stek pokazivač. Na kraju procedure je potrebno dealocirati ovu memoriju. ETF Beograd RE VEŽBE / / 30
16 Procedure Primer model flat,stdcall 3.stack ExitProcess proto,dwexitcode:dword 5 6.code 7 locvarproc PROC 8 push ebp 9 mov ebp, esp sub esp, 4 ; Mesto za DWORD promenjivu 12 mov DWORD PTR [ebp 4], 3 ;Inicijalizacija lokalne promenjive mov eax, [ebp+8] ; Preneseni argument preko steka se smesta u eax 15 sub DWORD PTR [ebp 4], eax ; Sadrzaj eax se oduzima od loklne promenjive mov eax, DWORD PTR [ebp 4]; Sadrzaj se vraca preko akumulatora 18 mov esp, ebp ; Cisti stek od lokalnih promenjivih 19 pop ebp ret 22 locvarproc ENDP main proc 25 push 1 26 call locvarproc 27 add esp, 4 ; Ciscenje steka 28 invoke ExitProcess,0 29 main endp 30 end main ETF Beograd RE VEŽBE / / 30
17 Procedure Primer 3 Lokalne promenljive - primer 3 ETF Beograd RE VEŽBE / / 30
18 Procedure Lokalne promenljive Automatsko kreiranje lokalnih promenljivih LOCAL direktiva Omogućava automatsko kreiranje lokalnih promenljivih. Rezerviše se prostor na steku za promenljivu i pristupa joj se preko simboličkog imena (ne kao ofset na EBP). Nakon izlaska iz procedure dealocira memoriju na steku. Navodi se odmah posle PROC direktive. LOCAL vardef vardef = label [count][:qualifiedtype] label - ime lokalne promenljive count - broj elemenata koji se alocira na steku. Zagrade su obavezne. Ako se ne specificira, smatra se jedan objekat. qualifiedtype - tip podatka ETF Beograd RE VEŽBE / / 30
19 Procedure Primer model flat,stdcall 3.stack ExitProcess proto,dwexitcode:dword 5 6.data 7 arraysz EQU 20 8 startdata DWORD code 11 findsum PROC uses esi ecx edx 12 LOCAL data[arraysz]:dword, sum:dword 13 mov ecx, arraysz 14 xor esi, esi 15 initialise: 16 mov eax, esi ; Inicijalizuje 17 mul esi ; rezervisani prostor 18 mov data[4 esi], eax ; sa kvadratima brojeva 19 inc esi ; od 0 do arraysz-1 20 loop initialise mov ecx, arraysz 23 xor esi, esi 24 mov eax, [ebp+8] ; U eax stavlja ulazni argument 25 mov sum, eax 26 calculatesum: 27 mov eax, data[4 esi] ; Sabira ulazni argument 28 add sum, eax ; sa inicijalizovanim 29 inc esi ; kvadratima 30 loop calculatesum 31 mov eax, sum ; rezultat sabiranja vraca preko 32 ; akumulatora 33 ret 34 findsum ENDP 35 main proc 36 push startdata 37 call findsum 38 add esp, 4 ; Ciscenje steka 39 invoke ExitProcess,0 40 main endp 41 end main ETF Beograd RE VEŽBE / / 30
20 Zajednički podaci i funkcije Zajednički podaci U slučaju postojanja više fajlova, potrebno je da se podaci mogu koristiti u svakom od njih. Postoje dva načina za deljenje podataka: korišćenjem PUBLIC i EXTERN direktive i korišćenjem definicionih fajlova. ETF Beograd RE VEŽBE / / 30
21 Zajednički podaci i funkcije Zajednički podaci Korišćenje definicionih fajlova Doprinose organizaciji projekta. Deklaracije tipova podataka i funkcija koje su iste za sve module se stavljaju u definicione fajlove. Ako više fajlova koristi definicioni fajl, on ne sme sadržati promenljive koje vrše alociranje memorijskog prostora. Umeću se u asemblerski fajl korišćenjem ključne reči INCLUDE: INCLUDE filename. INCLUDE direktiva se navodi pre.data i.code sekcije. Primer INCLUDE SCREEN.INC ETF Beograd RE VEŽBE / / 30
22 Zajednički podaci i funkcije Zajednički podaci Korišćenje definicionih fajlova Ukoliko definicioni fajl nije u okviru projekta, putanja do njega mora biti data. Definicioni fajl može da sadrži drugi definicioni fajl. Unutar definicionog fajla se mogu koristiti ključne reči: EQU za kreiranje simboličke konstante čija vrednost se ne može promeniti u programu. TYPEDEF, STRUCT, UNION i RECORD za definisanje tipova podataka. PROTO, EXTERN i COMM za definisanje procedura kao globalnih. Procedura/promenljiva se definiše kao globalna: Definicijom kao PUBLIC u jednom fajlu i deklaracijom kao EXTERN u drugom. Deklaracijom sa EXTERNDEF direktivom. Deklaracijom procedure sa PROTO direktivom. ETF Beograd RE VEŽBE / / 30
23 Zajednički podaci i funkcije Zajednički podaci EXTERNDEF Predstavlja javnu definiciju u definicionom fajlu i spoljašnju definiciju u ostalim fajlovima. Može da se koristi za procedure i sve tipove podataka. Sintaksa EXERNDEF [langtype] name:qualifiedtype name - ime promenljive/procedure langtype - definisano u okviru.model direktive i može biti: C, PASCAL, STDCALL, SYSCALL, FORTRAN i BASIC. ETF Beograd RE VEŽBE / / 30
24 Zajednički podaci i funkcije Zajednički podaci EXTERNDEF Može se koristiti i za labele i tako omogućava referenciranje koda između modula. EXTERNDEF codelabel:type codelabel :: - moraju se navesti dve dvotačke prilikom definisanja labele ETF Beograd RE VEŽBE / / 30
25 Zajednički podaci i funkcije Primer 5 Mod.inc 1 EXTERNDEF doaction:near 2 EXTERNDEF returnfromaction:near 3 EXTERNDEF array:byte Mod1.asm model flat, stdcall 3 option casemap:none 4 5 include Mod.inc 6 7.data 8 9 array db 10, 20, 30, code 12 start: 13 jmp doaction 14 returnfromaction:: 15 ret 16 end start Mod2.asm model flat, stdcall 3 option casemap:none 4 5 include Mod.inc 6 7.data 8 9 array1 db 4 DUP(?) code 12 doaction:: 13 mov ecx, sizeof array1 14 cld 15 mov esi, offset array 16 mov edi, offset array1 17 rep movsb 18 jmp returnfromaction 19 end ETF Beograd RE VEŽBE / / 30
26 Zajednički podaci i funkcije Zajednički podaci PROTO Automatski određuje EXTERNDEF ponašanje procedure, osim kada je procedura deklarisana kao PRIVATE. Da bi se jedna procedura definisala u jednom, a koristila u drugom modulu treba ispoštovati sledeće korake: 1 Deklarisati proceduru sa PROTO naredbom u definicionom fajlu. 2 Definisati proceduru sa PROC direktivom u jednom modulu. 3 Pozvati proceduru naredbom CALL ili INVOKE. ETF Beograd RE VEŽBE / / 30
27 Zajednički podaci i funkcije Primer 6 Mod.inc 1 TestProcedure PROTO STDCALL arg1:dword, arg2:dword Mod1.asm model flat,stdcall 3.stack ExitProcess proto,dwexitcode:dword 5 6 include Mod.inc 7 8.data 9 arg1 DD 0ABCDEF10h 10 arg2 DD h code 13 main proc 14 push arg2 15 push arg1 16 call TestProcedure 17 invoke ExitProcess,0 18 main endp 19 end main Mod2.asm model flat,stdcall 3.stack ExitProcess proto,dwexitcode:dword 5 6 include Mod.inc 7 8.data 9 array1 db 4 DUP(?) code 12 TestProcedure PROC STDCALL USES EDI ESI, 13 arg1:dword, arg2:dword mov esi, arg1 16 mov edi, arg2 17 add esi, edi 18 mov eax, esi 19 ret 20 TestProcedure endp 21 end ETF Beograd RE VEŽBE / / 30
28 Zajednički podaci i funkcije Deljenje podataka i funkcija podešavanjem njihove vidljivosti Ukoliko postoje samo dva.asm fajla, može se definisati podatak ili procedura kao globalna bez.inc fajla. U definišućem modulu se koristi PUBLIC, a u drugom modulu EXTERN. Sintaksa PUBLIC [langtype] name,... EXTERN [langtype] name:qualifiedtype langtype - STDCALL, SYSCALL, C, PASCAL, FORTRAN ili BASIC ETF Beograd RE VEŽBE / / 30
29 Zajednički podaci i funkcije Primer 7 Mod1.asm model flat,stdcall 3.stack ExitProcess proto,dwexitcode:dword 5 6 PUBLIC arg3 7 EXTERN c TestProcedure:NEAR 8 9.data 10 arg1 DD 0ABCDEF10h 11 arg2 DD h 12 arg3 DD h code 15 main proc 16 push arg2 17 push arg1 18 call TestProcedure 19 add esp, 8 20 invoke ExitProcess,0 21 main endp 22 end main Mod2.asm model flat,stdcall 3.stack ExitProcess proto,dwexitcode:dword 5 6 EXTERN arg3: DWORD 7 PUBLIC c TestProcedure 8 9.code 10 TestProcedure PROC c USES EDI ESI ECX, 11 arg1:dword, arg2:dword mov esi, arg1 14 mov edi, arg2 15 add esi, edi 16 mov eax, esi 17 ret TestProcedure endp 20 end ETF Beograd RE VEŽBE / / 30
30 KRAJ! ETF Beograd RE VEŽBE / / 30
P1.2 Projektovanje asemblera
ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)
ВишеMicrosoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]
Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija
ВишеFunkcije predavač: Nadežda Jakšić
Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno
ВишеMicrosoft Word - 11 Pokazivaci
Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u
ВишеTutoring System for Distance Learning of Java Programming Language
Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne
ВишеLogicko projektovanje racunarskih sistema I
PRIMERI SA PREDAVANJA 17 Beta asembler Zadatak 1. Posmatrajmo sledeću funkciju napisanu u programskom jeziku C, za računanje najvećeg zajedničkog delioca dva pozitivna cela broja: int gcd(int a, int b)
ВишеMicrosoft PowerPoint - 07-DinamickeStrukturePodataka
Динамичке структуре података листа, стек, ред Програмирање 2: глава 6 Динамичке структуре података Динамичка алокација и динамичке структуре података Најзначајније динамичке структуре података листе и
ВишеP11.3 Analiza zivotnog veka, Graf smetnji
Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи
ВишеUvod u organizaciju i arhitekturu računara 2 1
Uvod u organizaciju i arhitekturu računara 2 1 1 Asemblersko programiranje u Intel 64 arhitekturi 1.1 Sintaksa Opšta sintaksa asemblera je takva da se čita linija po linija. Linije mogu biti prazne u kom
ВишеTutoring System for Distance Learning of Java Programming Language
Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra
ВишеZbirka resenih zadataka iz arhitekture racunara
Ј. ЂОРЂЕВИЋ, З. РАДИВОЈЕВИЋ, М. ПУНТ, Б. НИКОЛИЋ, Д. МИЛИЋЕВ, Ј. ПРОТИЋ, А. МИЛЕНКОВИЋ АРХИТЕКТУРА И ОРГАНИЗАЦИЈА РАЧУНАРА ПРЕКИДИ, МАГИСТРАЛА И УЛАЗ/ИЗЛАЗ ЗБИРКА РЕШЕНИХ ЗАДАТАКА Београд 2013. i САДРЖАЈ
ВишеOPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su me
OPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su međusobno povezane preko sistemske magistrale. Tajmer
ВишеP1.3 Projektovanje makroasemblera
ПРОЈЕКТОВАЊЕ МАКРОАСЕМБЛЕРА Макроасемблер Потребна проширења асемблера 1 МАКРОАСЕМБЛЕР Макроасемблер преводи полазни програм написан на макроасемблерском језику у извршиви машински програм. Приликом израде
ВишеPROMENLJIVE, TIPOVI PROMENLJIVIH
PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije
ВишеRazvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić
Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,
ВишеMicrosoft Word - 02 Elementi programskog jezika Pascal
Elementi programskog jezika Pascal Osnovni elementi jezika Osnovni simboli U programskom jeziku Pascal sve konstrukcije se grade od skupa osnovnih simbola jezika koji čine slova, cifre i specijalni znaci.
ВишеPrecesor Intel 8086
Precesor Intel 8086 Uvod Procesor 8086 jedan je od najvažnijih u istoriji računarstva, rodonačelnik Intelove 80x86 familije kojoj pripadaju: 8086, 80286, 80386, 80486, Pentium, Pentium II itd. Familija
ВишеP9.1 Dodela resursa, Bojenje grafa
Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.
ВишеAlgoritmi i arhitekture DSP I
Univerzitet u Novom Sadu Fakultet Tehničkih Nauka Katedra za računarsku tehniku i međuračunarske komunikacije Algoritmi i arhitekture DSP I INTERNA ORGANIACIJA DIGITALNOG PROCESORA A OBRADU SIGNALA INTERNA
ВишеELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera
ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera CILJ VEŽBE Cilj ove vežbe je da se studenti kreiranjem
ВишеFunkcije predavač: Nadežda Jakšić
Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa
ВишеMicrosoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]
Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева
ВишеRačunarski praktikum I - Vježbe 09 - this, static
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 09 - this, static v2018/2019. Sastavio: Zvonimir Bujanović Pokazivač this Kako funkcija članica
ВишеMicrosoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]
Osnove programiranja Funkcije - Metode http://www.introprogramming.info/english-intro-csharp-book/read-online/ Sadržaj Funkcije Metode Definisanje Pozivanje Povratne vrednosti Parametri Metode (1) Metoda
ВишеProgramski jezik C
Pojam funkcije Deklaracija i definicija funcije Poziv funkcije Memorijske klase promjenljivih Primjeri. Za kompajliranje koda koristen DEV-C++ 4.9.9.2 Compiler!!!! Moze is koristiti I bilo koji drugi standardni
ВишеRačunarski praktikum I - Vježbe 01 - Uvod
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 01 - Uvod v2018/2019. Sastavio: Zvonimir Bujanović Gradivo i način polaganja Gradivo: osnove jezika
ВишеPowerPoint Presentation
II Karakteristike C jezika Programski jezik C je viši programski jezik opšte namene. Tesno je povezan sa UNIX OS uz koji je razvijan. Razvio ga je Dennis Ritchie 1970 u Bell Telephone Laboratories, Inc.
Више3.Kontrlne (upravlja~ke) strukture u Javi
Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ
ВишеMicrosoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]
Osnove programiranja Funkcije - Metode Prenos parametara Po vrednosti Po referenci Po izlazu Sadržaj Opseg važenja promenljive u drugim strukturama Rekurzije Prenos parametara Metoda može vratiti isključivo
ВишеRačunarski praktikum I - Vježbe 07 - Podstrukture, const, reference
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 07 - Podstrukture, const, reference v2018/2019. Sastavio: Zvonimir Bujanović Podstrukture Član
ВишеMicrosoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode]
Osnove programiranja Nizovi Sadržaj Definicija niza Vrste i elementi nizova Deklarisanje nizova Dodele (početne) vrednosti nizovima Jednodimenzionalni nizovi Primeri dodele vrednosti Petlja foreach Nizovi
ВишеMicrosoft PowerPoint - OOPpredavanja05 [Compatibility Mode]
OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni
ВишеStrukture predavač: Nadežda Jakšić
Strukture predavač: Nadežda Jakšić složeni tip podatka; kolekcija promenljivih različitog tipa koje su sakupljene radi lakše manipulacije sintaksa: struct [oznakastrukture] navede { definicija člana strukture;
ВишеКласе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата
Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности података и операције над њима Дефиниција класе садржи само
ВишеVEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr
VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstrirana upotreba konstruktora, svojstava, metoda klase,
ВишеMicrosoft Word - CAD sistemi
U opštem slučaju, se mogu podeliti na 2D i 3D. 2D Prvo pojavljivanje 2D CAD sistema se dogodilo pre više od 30 godina. Do tada su inženjeri koristili table za crtanje (kulman), a zajednički jezik komuniciranja
ВишеUniverzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br
Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo
ВишеRACUNARSKA ELEKTRONIKA – VEŽBE 4
RAČUNARSKA ELEKTRONIKA VEŽBE 4 Aleksandra Lekić lekic.aleksandra@etf.bg.ac.rs Elektrotehnički fakultet, Univerzitet u Beogradu 2015/2016 ETF Beograd RE VEŽBE 4 2015/2016 1 / 31 Makroi Makro Predstavlja
ВишеTutoring System for Distance Learning of Java Programming Language
Uvod u programiranje dr Ninoslava Savić Predavanja (3) sreda: 11:15 13:50 Učionica 16 Konsultacije sreda: 15 17 h Kabinet 43 Uvod u programiranje Fond časova: 3+3 Broj ESPB: 7 Ocena znanja (max. broj poena
ВишеMicrosoft PowerPoint - Datoteke [Compatibility Mode]
Датотеке стандардни улаз / излаз Датотека је именовани низ знакова (бајтова) У програмском језику C датотека је везана за улаз и излаз података функције стандардне библиотеке Најједностaвније
ВишеUvod u računarstvo 2+2
Ulaz i izlaz podataka Ulaz i izlaz podataka Nakon odslušanog bit ćete u stanju: navesti sintaksu naredbi za unos/ispis znakova znakovnih nizova cijelih brojeva realnih brojeva jednostruke i dvostruke preciznosti
ВишеPowerPoint Presentation
Visoka škola strukovnih studija za informacione i komunikacione tehnologije Grupisanje ruta i patterni Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž
ВишеTutoring System for Distance Learning of Java Programming Language
Obeležene petlje Obeležene petlje Obeležavanje petlje nekim identifikatorom omogućava da se programski tok usmeri na mesto u programu specificirano tim identifikatorom. Ako se iza naredbi break ili continue
ВишеZadatak T=5: Jedinica WBSD propušta vred Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000
Zadatak 2.1 1. T=5: Jedinica WBSD propušta vred 0000 0003 Potiče iz polja Rwb.LMD Signal Rwb.WRLMD izaziva propuštanje ove vrednosti 2. Vrednost 0000 0003 koja je pročitana u taktu 5 (prethodno pitanje)
ВишеKDP
Региони Региони Програмска парадигма за приступ критичној секцији Увођење посебне синтаксе за експлицитно означавање критичних секција Обезбеђивање међусобног искључивања процеса Условни критични регион
ВишеUvod u računarstvo 2+2
Pokazivači Pointeri Definicija pokazivača Pokazivač na tip je varijabla koja sadrži adresu varijable tipa tip. Definicija pokazivača: mem_klasa tip * p_var; Primjer: static int * pi; double *px; char*
Више070-ALIP2-udzbenik.indb
0. U uvodnom ćemo poglavlju ponoviti osnove programskog jezika C s kojima smo se susreli u. razredu. U kratkom pregledu navedeni su operatori (aritmetički, relacijski i logički), neke od funkcija iz biblioteka
ВишеRačunarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1
Računarske mreže Čas 2 Ivana Tanasijević e-mail: ivana@matf.bg.ac.rs Matematički fakultet, Beograd 1 Utvrđivanje gradiva sa prethodnog časa: popunjavanje adresne strukture, kreiranje soketa, privezivanje
ВишеCOMARC/A Format
COMARC/A 856 856 ELEKTRONSKA LOKACIJA I PRISTUP Polje možemo da koristimo u normativnim zapisima za obezbeđivanje dodatnih (elektronskih) informacija o entitetu za koji je zapis kreiran. Polje sadrži podatke
ВишеPojačavači
Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici dr Dejan S. Aleksić, vanredni profesor Kabinet 307 (treći sprat), lab. za elektroniku
ВишеProgramiranje za UNIX Okruženje unix procesa
Programiranje za UNIX Okruženje unix procesa Sadržaj Memorijska slika UNIX procesa Argumenti naredbenog retka i varijable okruženja Životni ciklus procesa Izlazni status procesa 2 Memorijska slika UNIX
ВишеPowerPoint Presentation
Java konkurentno programiranje Životni ciklus niti i problemi sinhronizacije resursa Multitasking Multithreading Životni ciklus niti http://www.roseindia.net/java/thread/lifecycle-of-threads.shtml Životni
ВишеFortran
FORTRAN Uvod Računala su samo strojevi: neznaju ništa, ne razmišljaju ni o čemu, ali mogu izuzetnom brzinom i vrlo točno, slijediti precizno napisane upute. Takve upute moraju se napisati u posebnom jeziku
ВишеОрт колоквијум
Испит из Основа рачунарске технике - / (6.6.. Р е ш е њ е Задатак Комбинациона мрежа има пет улаза, по два за број освојених сетова тенисера и један сигнал који одлучује ко је бољи уколико је резултат
ВишеProgramiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1
Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1 Sadržaj 1 Pokazivači - ponavljanje 3 2 Pokazivači - veza sa nizovima 5 2 1 Pokazivači - ponavljanje 1.
ВишеMicrosoft Word - Zadaci za samostalno vjezbanje 4.doc
Zadaci za samostalno vježbanje 4. Svi zadaci dati ovdje su takvi da se mogu uraditi korištenjem isključivo gradiva prva četiri predavanja i ranije stečenog predznanja na predmetu Osnove računarstva. Zvjezdicom
ВишеPowerPoint Presentation
Prof. dr Pere Tumbas Prof. dr Predrag Matkovid Identifikacija i izbor projekata Održavanje sistema Inicijalizacija projekata i planiranje Implementacija sistema Dizajn sistema Analiza sistema Faze životnog
ВишеPASCAL UVOD 2 II razred gimnazije
PASCAL UVOD 2 II razred gimnazije Upis-ispis 1. Upis Read(a,b); --u jednom redu Readln(a,b); -- nakon upisa prelazi se u novi red 2. Ispis Write(a,b); -- u jednom redu Writeln(a,b); --nakon ispisa prelazi
ВишеEdukacioni racunarski sistem
ТРАНСЛАЦИЈА ИНСТРУКЦИЈА 1. Разматра се рачунарски систем у коме се извршавање одређене инструкције одвија у 6 фаза помоћу измењеног процесора са стандардном проточном обрадом (слика 1.). У процесор са
ВишеPowerPoint Presentation
Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Сопствени пакети и унутрашње класе Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ
ВишеSlide 1
OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik
ВишеVezbe_AOR1_2014_V1.0
АРХИТЕКТУРА И ОРГАНИЗАЦИЈА РАЧУНАРА 1 Верзија 2014 1.0 САДРЖАЈ Садржај... 3 Кеш меморија (Cache Memory)... 5 Задатак 1.... 5 Задатак 2.... 6 Задатак 3.... 9 Задатак 4.... 12 Задатак 5.... 15 Задатак 6....
ВишеMicrosoft Word - Projekat iz MIPS-a - simCPU.doc
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU MIKROPROCESORSKI SISTEMI simcpu Mentor Prof. dr. Mile Stojčev Marko Ilić 9921 Nebojša Pejčić 9738 Aleksandar Stojadinović 10085 Bojan Janićijević
ВишеProgramiranje 2 7. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 7. predavanje p. 1/7
Programiranje 2 7. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 7. predavanje p. 1/75 Sadržaj predavanja Tipovi i složene deklaracije:
ВишеKombinatorno testiranje
Kombinatorno testiranje Uvod Na ponašanje aplikacije utiče puno faktora, npr. ulazne vrednosti, konfiguracije okruženja. Tehnike kao što je podela na klase ekvivalencije ili analiza graničnih vrednosti
ВишеMicrosoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]
Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 03 Zvonimir Bujanović Slaven Kožić Vinko Petričević Mrežno programiranje: SocketAPI Programiramo u aplikacijskom sloju, za ostale se brinu
ВишеУвод у организацију и архитектуру рачунара 1
Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне
ВишеMicrosoft Word - IWT0906R.doc
Elektronski fakultet Katedra za elektroniku Predmet: Internet i Web tehnologije Smer: Multimedijalne tehnologije 30.09.2006. TEST PITANJA i ZADACI 1. (5 poena) Komunikacioni protokol je skup pravila koja
ВишеMicrosoft PowerPoint - 13 PIK (Mentor Graphic ASIC).ppt
Projektovanje integrisanih kola Delimično projektovanje po narudžbini Sadržaj: Sadržaj: I. I. Uvod Uvod - sistem projektovanja II. II. CMOS Analiza Proces kola primenom računara III. III. Potpuno Optimizacija
Више12.WT-javaScript-Drupal
Visoka škola strukovnih studija za informacione i komunikacione tehnologije Beograd WEB TEHNOLOGIJE Drupal i javascript (jquery) Školska 2014/15. dr Nenad Kojić, dipl. inž. Milena Vesić, spec. inž. Marko
ВишеProgramiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan
Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan realan broj od 0 i 1. Na standardni izlaz ispisati
ВишеMicrosoft Word - MySQL_3.doc
7. Data Manipulation Language (DML) Jezik za rad sa podacima (Data Manipulation Language (DML)) služi za umetanje, brisanje i ažuriranje podataka u bazi. 7.1. Umetanje novih redova u tabelu INSERT sintaksa
ВишеCPHP_19
Upotreba PHP-a u drugim jezicima Za ovu lekciju se podrazumevaju osnovna znanja iz JavaScript-a i ActionScript-a. Ono što smo do sada radili, jeste PHP van konteksta ili u veb kontekstu, što je zapravo
ВишеUVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o
UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke od tih jezičkih razlika su: Java kod se prevodi u.class
ВишеDijagrami sekvenci
Dijagrami sekvenci Izrada dijagrama sekvenci Dijagram sekvenci koristi se za specifikaciju vremenskih zahteva u opisu složenih scenarija opis toka poruka između objekata kojima se realizuje odgovarajuća
ВишеRačunarski praktikum I - Vježbe 03 - Implementacija strukture string
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 03 - Implementacija strukture string v2018/2019. Sastavio: Zvonimir Bujanović Stringovi u C-u String
Више2_Arhitektura racunara
Архитектура рачунара Садржај Типови података Формати инструкција Скуп инструкција Програмски доступни регистри Начини адресирања 2 Типови података Најчешће коришћени типови података су: целобројне величине
ВишеUvod u računarstvo 2+2
Programiranje 2 doc.dr.sc. Goranka Nogo PMF Matematički odsjek, Zagreb Kontakt ured: 228, drugi kat e-mail: nogo@math.hr konzultacije: četvrtak, 12:00-14:00 petak, 11:00-12:00 neki drugi termin, uz prethodni
ВишеSlide 1
predmet Inženjerska informatika Operativni sistem dr Anica Milošević Koji operativni sistemi postoje? Microsoft Windows Linux Suse Red Hat Ubuntu Unix 26.1.2018. 2 Šta je Windows operativni sistem? Operativni
ВишеMicrosoft PowerPoint - 11_JavaScript_1.ppt [Compatibility Mode]
Java Script dr Suzana Marković, dipl.ing. el. suzana.markovic@bss.edu.rs Programski jezici Kompajlerski jezici - programski kôd konvertuje se u mašinski pre nego što se i pokrene, što znači da će se ta
ВишеPrimenjeno programiranje - vezbe GUI i baze podataka
Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju
ВишеИспит из Основа рачунарске технике OO /2018 ( ) Р е ш е њ е Задатак 5 Асинхрони RS флип флопреализован помоћу НИЛИ кола дат је на след
Испит из Основа рачунарске технике OO - / (...) Р е ш е њ е Задатак Асинхрони RS флип флопреализован помоћу НИЛИ кола дат је на следећој слици: S R Асинхрони RS флип флопреализован помоћу НИЛИ кола је
ВишеMicrosoft PowerPoint - 1. Zend_1 - Instalacija frameworka
Instalacija Zend framework-a Preuzimanje framework-a Sa zvaničnog sajta Zend-a, preuzeti jednu od verzija framework-a (sada koristiti verziju 1.12.0 ) http://framework.zend.com/downloads/latest Raspakivanje
ВишеLAB PRAKTIKUM OR1 _ETR_
UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA
ВишеP11.2 Izbor instrukcija, IBURG
Избор инструкција (1/2) Машинска инструкција се може приказати као део стабла међукода, који се назива шаблон стабла (енгл. tree pattern). Избор инструкција је проблем поплочавања стабла међукода минималним
ВишеUNIVERZITET UKSHIN HOTI PRIZREN FAKULTET RAČUNARSKIH NAUKA PROGRAM: TIT - BOS NASTAVNI PLAN-PROGRAM SYLLABUS Nivo studija Bachelor Program TIT-Bos Aka
UNIVERZITET UKSHIN HOTI PRIZREN FAKULTET RAČUNARSKIH NAUKA PROGRAM: TIT - BOS NASTAVNI PLAN-PROGRAM SYLLABUS Nivo studija Bachelor Program TIT-Bos Akademska godina 018/019 PREDMET Godina studija I Status
ВишеLogicko projektovanje racunarskih sistema I
POKAZNA VEŽBA 10 Strukture za računanje Potrebno predznanje Urađena pokazna vežba 8 Poznavanje aritmetičkih digitalnih sistema i aritmetičko-logičkih jedinica Osnovno znanje upravljačkih jedinica digitalnih
ВишеMicrosoft PowerPoint - 12a PEK EMT VHDL 1 od 4 - Uvod (2011).ppt [Compatibility Mode]
VHDL jezik za opis hardvera VHDL jezik za opis hardvera VHDL jezik za opis hardvera Prof. Dr Predrag Petković Dr Miljana Milić Sadržaj 1. Šta je VHDL? 2. Opis hardvera 3. Signali 4. Osnove VHDL pravopisa
ВишеПисање и превођење модула
Писање и превођење модула ЦИЉ Научити како се пишу и преводе модули. ИСХОД Након ове вежбе ћете моћи да: Напишете кернел модул са неколико могућности, укључујући параметре Приступите кернелу из вашег модула
ВишеPowerPoint Presentation
Programski jezici i strukture podataka UVOD Izvođači nastave Srđan Popov (JUG 215) Petar Marić (JUG 105) Milena Počuča (JUG 215) Milica Milutinović (JUG 215) Termini konsultacija naknadno Cilj vežbi Sticanje
ВишеPROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije
PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo
ВишеСТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12
СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12 РЕГИСТРАЦИЈА НА СТАРТ-СТОП ПАРКИНГ СИСТЕМ За коришћење СТАРТ-СТОП ПАРКИНГ система, корисник (физичко или правно лице) попуњава упитник у просторијама
ВишеПрограмирај!
Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком
ВишеUniverzitet u Nišu Prirodno-Matematički fakultet Marko D. Petković OSNOVI KONKURENTNOG PROGRAMIRANJA SA ZBIRKOM ZADATAKA Niš, 2010
Univerzitet u Nišu Prirodno-Matematički fakultet Marko D. Petković OSNOVI KONKURENTNOG PROGRAMIRANJA SA ZBIRKOM ZADATAKA Niš, 2010 Dr Marko D. Petković, docent Prirodno-Matematičkog fakulteta u Nišu Godina
ВишеUvod u računarstvo 2+2
Datoteke nastavak Funkcija fgets Funkcija koja učitava podatke iz datoteke, liniju po liniju, je char *fgets(char *str, int n, FILE *fp); gdje su str pokazivač na dio memorije (string) u koji će ulazna
ВишеBaze podataka MySQL Community Server i MySQL Workbench
Baze podataka MySQL Community Server i MySQL Workbench Preuzimanje i instalacija Iz Internet browser-a pristupiti adresi: www.mysql.com Kliknuti na link Downloads Kliknuti na link Community Kliknuti na
ВишеPowerPoint Presentation
V Unos i prikaz podataka Programi čitaju i ispisuju podatke sa spoljašnjih uređaja Postoji prolazni U/I (tastatura i monitor) i trajni U/I podataka (fajlovi) printf i scanf pišu/čitaju na monitor ili sa
ВишеУпутство за коришћење АМРЕС FileSender услуге
Упутство за коришћење АМРЕС FileSender услуге Copyright 205 АМРЕС Историја верзија документа Верзија Датум Иницијали аутора Опис промене.0 Јул 205 НИ Прва верзија овог документа Садржај Садржај УВОД...
ВишеP11.1 Izbor instrukcija, najveci zalogaj
Избор инструкција 1 Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 2 Поједностављени
Више