RACUNARSKA ELEKTRONIKA – VEŽBE 4

Слични документи
RACUNARSKA ELEKTRONIKA – VEŽBE 3

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Datoteke [Compatibility Mode]

P1.3 Projektovanje makroasemblera

Funkcije predavač: Nadežda Jakšić

P1.2 Projektovanje asemblera

Programiranje za UNIX Okruženje unix procesa

Microsoft Word - MySQL_3.doc

Primenjeno programiranje - vezbe GUI i baze podataka

Uvod u računarstvo 2+2

Tutoring System for Distance Learning of Java Programming Language

Uvod u računarstvo 2+2

PowerPoint Presentation

PowerPoint Presentation

n50

Osnove WindowsXP

Računarski praktikum I - Vježbe 09 - this, static

Funkcije predavač: Nadežda Jakšić

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP

SPR , IV godina, VHDL – Ispitna pitanja

Jasna Kellner

PowerPoint Presentation

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

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

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

PHP kod

Slide 1

Računarski praktikum I - Vježbe 01 - Uvod

OPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su me

01 SUBP

PowerPoint Presentation

Staticki kriterijumi new-1.pptx

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Programski jezik C

Slide 1

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

03 SUBP

pricalica.PDF

Primenjeno programiranje - Vežbe

Microsoft PowerPoint - 13 PIK (Mentor Graphic ASIC).ppt

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

ggmap

Datoteke predavač: Nadežda Jakšić

Upitni jezik SQL

Programski jezik C

Računarski praktikum I - Vježbe 11 - Funktori

Препоруке безбедности мрежних сервиса Copyright 2015 АМРЕС

PowerPoint Presentation

Upute za korištenje EasyChair konferencijskog sustava HRO CIGRE 2019 Prijava referata Ako ste već koristili EasyChair na 13. Savjetovanju ili prije ta

Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant

Microsoft PowerPoint - 11.Programski_Jezik_C_ulaz-izlaz [Compatibility Mode]

Microsoft PowerPoint - 11_JavaScript_1.ppt [Compatibility Mode]

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba

Lekcija 6 Prikaz podataka na graficima. Upis u fajl. 1. Cilj vežbe Cilj vežbe je da studente upozna sa: načinima prikaza podataka na različitim grafič

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

PowerPoint Presentation

Logicko projektovanje racunarskih sistema I

Microsoft PowerPoint - 6. Query Builder.pptx

NN indd

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

obavezno je koristiti spell-checker

Napredno web programiranje

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St

Domaći zadatak - GUI (rok za sve grupe je ) Napraviti repozitorijum na GitHub-u koji se zove MenjacnicaGUI i postaviti Eclipse projekat menj

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj

LAB 4 - Binarni komparator

Tutoring System for Distance Learning of Java Programming Language

Adresa: Maršala Tita 9a/I Telefon: (033) Faks: (033) Web: Datum i vrijeme slanj

P9.1 Dodela resursa, Bojenje grafa

PROMENLJIVE, TIPOVI PROMENLJIVIH

Adresa: Maršala Tita 9a/I Telefon: (033) Faks: (033) Web: Datum i vrijeme slanj

Slide 1

Računarski praktikum I - Vježbe 06 - Standard Template Library (2)

Методологиjа стручног и научног рада Рецензирање Милена Вуjошевић Jаничић Математички факултет, Београд

F84 Zahtjev za priznavanje inostrane visokoškolske kvalifikacije (zaokružiti) Application for academic recognition of foreign higher qualification (ci

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

No Slide Title

Microsoft PowerPoint - 1. Zend_1 - Instalacija frameworka

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

Adresa: Maršala Tita 9a/I Telefon: (033) Faks: (033) Web: Datum i vrijeme slanj

Транскрипт:

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 simboličko ime koje se dodeljuje nizu karaktera ili grupi naredbi. Prilikom poređenja kompajler proverava da li ime unutar instrukcije pripada nekom makrou i ako jeste zamenjuje makro tekstom koji ga definiše. Ovo je način da se izbegne ponavljanje koda. ETF Beograd RE VEŽBE 4 2015/2016 2 / 31

Makroi Vrste makroa Tekstualni makro - zamenjuje simboličko ime tekstom koji ga definiše. Makro procedura - zamenjuje simboličko ime jednom ili grupom naredbi koje ga definišu. Opciono može imati parametre. Blokovi koji se ponavljaju,zamenjuje simboličko ime grupom naredbi specificiran broj puta, ili dok se ne zadovolji specificiran uslov. Makro funkcija - sličan je makro proceduri pri čemu može biti korišćen i kao tekstualni makro, s tim što vraća vrednost. Predefinisane makro funkcije i stringovne direktive koje obavljaju operacije nad stringovima. ETF Beograd RE VEŽBE 4 2015/2016 3 / 31

Makroi Tekstualni makroi Tekstualni makroi Direktiva TEXTEQU definiše tekstualni makro. ETF Beograd RE VEŽBE 4 2015/2016 4 / 31

Makroi Makro procedure Makro procedure Koristi se kada je potrebno izvršiti više puta grupu naredbi. Može se definisati i bez parametara: name MACRO... ENDM Komentari se navode iza duplog znaka ;;. Kada se jednom definiše makro, može se koristiti bilo kada u programu. Ima istu ulogu kao obična procedura, ali se izvršava brže zato što nema grananja unutar makroa. Međutim, svaki put kada se pozove, ceo kod makroa se kopira na tom mestu u objektnom fajlu. ETF Beograd RE VEŽBE 4 2015/2016 5 / 31

Makroi Makro procedure Prenošenje argumenata makrou name MACRO parameterlist... ENDM parameterlist sadrži različiti broj parametara odvojenih zarezima. Argumenti se prosleđuju makrou u listi nakon poziva imena makroa: macroname argumentlist. Kompajler prijavljuje grešku ako se makrou prosledi više argumenata nego što je definisano. Ako se prosledi manje, kompajler dodeljuje prazne stringove parametrima. ETF Beograd RE VEŽBE 4 2015/2016 6 / 31

Makroi Makro procedure Lokalni simboli u makrou Mogu se definisati lokalne promenljive odmah na početku makroa pozivom LOCAL direktive. Sve labele u makrou se moraju definisati kao lokalne. Naime, labela odgovara jednoj instrukciji u programu i zato sme da se da isto ime samo jednoj labeli. Definicijom labele kao lokalne se sprečava njeno redefinisanje nakon ekspanzije koda u objektni fajl. ETF Beograd RE VEŽBE 4 2015/2016 7 / 31

Makroi Makro procedure Primer ETF Beograd RE VEŽBE 4 2015/2016 8 / 31

MS-Windows Programianje Radi kao 16-bitno MS-DOS u tekstualnom modu. Biblioteka Irvine32.inc sadrži podršku za standardne MS-Windows funkcije. Postoji podrška za: čitanje sa standardnog ulaza ispis na standardni izlaz ispis teksta u boji Radi sa 8-bitnim ASCII i 16-bitnim Unicode setom karaktera. ETF Beograd RE VEŽBE 4 2015/2016 9 / 31

Console Handle procedure Function GetStdHandle ReadConsole WriteConsole Description Retrieves a handle for the standard input, standard output, or standard error device. Reads character input from the console input buffer and removes it from the buffer. Writes a character string to a console screen buffer beginning at the current cursor location. ETF Beograd RE VEŽBE 4 2015/2016 10 / 31

Console Handle procedure Write Message Write Message MessageBoxA PROTO, hwnd:dword, ; handle to window (can be null) lptext:ptr BYTE, ; string, inside of box lpcaption:ptr BYTE, ; string, dialog box title utype:dword ; contents and behavior Write Message utype - MB_OK, MB_OKCANCEL, MB_YESNO, MB_YESNOCANCEL, MB_RETRYCANCEL, MB_ABORTRETRYIGNORE i MB_CANCELTRYCONTINUE. ETF Beograd RE VEŽBE 4 2015/2016 11 / 31

Console Handle procedure 1 ; Demonstrate MessageBoxA (MessageBox.asm) 2 INCLUDE Irvine32.inc 3 4.data 5 captionw BYTE "Warning",0 6 warningmsg BYTE "The current operation may take years to complete.",0 7 captionq BYTE "Question",0 8 questionmsg BYTE "A matching user account was not found." 9 BYTE 0dh,0ah,"Do you wish to continue?",0 10 captionc BYTE "Information",0 11 infomsg BYTE "Select Yes to save a backup file before continuing,",0dh,0ah 12 BYTE "or click Cancel to stop the operation",0 13 captionh BYTE "Cannot View User List",0 14 haltmsg BYTE "This operation not supported by your user account.",0 15 16.code 17 main PROC 18 ; Display Exclamation icon with OK button 19 INVOKE MessageBox, NULL, ADDR warningmsg, ADDR captionw, 20 MB_OK + MB_ICONEXCLAMATION 21 ; Display Question icon with Yes/No buttons 22 INVOKE MessageBox, NULL, ADDR questionmsg, 23 ADDR captionq, MB_YESNO + MB_ICONQUESTION 24 ; interpret the button clicked by the user 25 cmp eax,idyes ; YES button clicked? 26 ; Display Information icon with Yes/No/Cancel buttons 27 INVOKE MessageBox, NULL, ADDR infomsg, 28 ADDR captionc, MB_YESNOCANCEL + MB_ICONINFORMATION + MB_DEFBUTTON2 29 ; Display stop icon with OK button 30 INVOKE MessageBox, NULL, ADDR haltmsg, ADDR captionh, MB_OK + MB_ICONSTOP 31 exit 32 main ENDP 33 END main ETF Beograd RE VEŽBE 4 2015/2016 12 / 31

Console Input Console Input Read Console ReadConsole PROTO, hconsoleinput:handle, ; input handle lpbuffer:ptr BYTE, ; pointer to buffer nnumberofcharstoread:dword, ; number of chars to read lpnumberofcharsread:ptr DWORD, ; ptr to num bytes read lpreserved:dword ; (not used) Read Console Čita podatak sa standardnog ulaza i stavlja ga u bafer. ETF Beograd RE VEŽBE 4 2015/2016 13 / 31

Console Input 1 ; Read From the Console (ReadConsole.asm) 2 3 ; Read a line of input from standard input. 4 5 INCLUDE Irvine32.inc 6 7 BufSize = 80 8 9.data 10 buffer BYTE BufSize DUP(?) 11 stdinhandle HANDLE? 12 bytesread DWORD? 13 14.code 15 main PROC 16 ; Get handle to standard input 17 INVOKE GetStdHandle, STD_INPUT_HANDLE 18 mov stdinhandle,eax 19 20 ; Wait for user input 21 INVOKE ReadConsole, stdinhandle, ADDR buffer, 22 BufSize, ADDR bytesread, 0 23 24 ; Display the buffer 25 mov esi,offset buffer 26 mov ecx,bytesread 27 mov ebx,type buffer 28 call DumpMem 29 30 exit 31 main ENDP 32 END main ETF Beograd RE VEŽBE 4 2015/2016 14 / 31

Console Input Keyboard procedure ReadChar - čeka se da se ukuca karakter u ASCII kodu na tastaturi i upisuje se u AL registar. ReadKey - ne čeka na karakter. Ako nema karaktera setuje se zero flag, a ako postoji karakter zero flag nije setovan. U tom se slučaju upisuje u registar AL karakter ili nula. Gornje polovine registara EAX i EDX su prepisane. ETF Beograd RE VEŽBE 4 2015/2016 15 / 31

Console Input 1 ; Testing ReadKey (TestReadkey.asm) 2 3 4 INCLUDE Irvine32.inc 5 INCLUDE Macros.inc 6 7.code 8 main PROC 9 10 L1: mov eax,10 ; delay for msg processing 11 call Delay 12 call ReadKey ; wait for a keypress 13 jz L1 14 15 test ebx,capslock_on 16 jz L2 17 mwrite <"CapsLock is ON",0dh,0ah> 18 jmp L3 19 20 L2: mwrite <"CapsLock is OFF",0dh,0ah> 21 22 L3: exit 23 main ENDP 24 END main ETF Beograd RE VEŽBE 4 2015/2016 16 / 31

Console Input Čitanje stanja tastature Program testira vrednost registra EAX prema tabeli: ETF Beograd RE VEŽBE 4 2015/2016 17 / 31

Console Input 1 ; Keyboard Toggle Keys (Keybd.asm) 2 3 ; This program shows how to detect the states of various 4 ; keyboard toggle keys. Before you run the program, hold 5 ; down a selected key. 6 7 INCLUDE Irvine32.inc 8 INCLUDE Macros.inc 9 10 ; GetKeyState sets bit 0 in EAX if a toggle key is 11 ; currently on (CapsLock, NumLock, ScrollLock). 12 ; It sets the high bit of EAX if the specified key is 13 ; currently down. 14 15.code 16 main PROC 17 18 INVOKE GetKeyState, VK_NUMLOCK 19 test al,1 20.IF!Zero? 21 mwrite <"The NumLock key is ON",0dh,0ah> 22.ENDIF 23 24 INVOKE GetKeyState, VK_LSHIFT 25 call DumpRegs 26 test eax,80000000h 27.IF!Zero? 28 mwrite <"The Left Shift key is currently DOWN",0dh,0ah> 29.ENDIF 30 31 exit 32 main ENDP 33 END main ETF Beograd RE VEŽBE 4 2015/2016 18 / 31

Console Output Console Output WriteConsole WriteConsole PROTO, hconsoleoutput:handle, lpbuffer:ptr BYTE, nnumberofcharstowrite:dword, lpnumberofcharswritten:ptr DWORD, lpreserved:dword ETF Beograd RE VEŽBE 4 2015/2016 19 / 31

Console Output 1 ; Win32 Console Example #1 (Console1.asm) 2 ; This program calls the following Win32 Console functions: 3 ; GetStdHandle, ExitProcess, WriteConsole 4 INCLUDE Irvine32.inc 5 6.data 7 endl EQU <0dh,0ah> ; end of line sequence 8 9 message LABEL BYTE 10 BYTE "This program is a simple demonstration of " 11 BYTE "console mode output, using the GetStdHandle " 12 BYTE "and WriteConsole functions.", endl 13 messagesize DWORD ($ message) 14 15 consolehandle HANDLE 0 ; handle to standard output device 16 byteswritten DWORD? ; number of bytes written 17 18.code 19 main PROC 20 ; Get the console output handle: 21 INVOKE GetStdHandle, STD_OUTPUT_HANDLE 22 mov consolehandle,eax 23 24 ; Write a string to the console: 25 INVOKE WriteConsole, 26 consolehandle, ; console output handle 27 ADDR message, ; string pointer 28 messagesize, ; string length 29 ADDR byteswritten, ; returns num bytes written 30 0 ; not used 31 32 INVOKE ExitProcess,0 33 main ENDP 34 END main ETF Beograd RE VEŽBE 4 2015/2016 20 / 31

Console Output Console Output WriteConsoleOutputCharacter WriteConsoleOutputCharacter PROTO, hconsoleoutput:handle, ; console output handle lpcharacter:ptr BYTE, ; pointer to buffer nlength:dword, ; size of buffer dwwritecoord:coord, ; first cell coordinates lpnumberofcharswritten:ptr DWORD ; output count Ako tekst dođe do kraja reda, prelomi se u novi. Ako funkcija ne može da ispiše karaktere (npr. tab), vraća nulu. ETF Beograd RE VEŽBE 4 2015/2016 21 / 31

Čitanja i upis u fajlove Kreiranje fajla Create File CreateFile PROTO, ; create new file lpfilename:ptr BYTE, ; ptr to filename dwdesiredaccess:dword, ; access mode dwsharemode:dword, ; share mode lpsecurityattributes:dword, ; ptr security attrib dwcreationdisposition:dword, ; file creation options dwflagsandattributes:dword, ; file attributes htemplatefile:dword ; handle to template file ETF Beograd RE VEŽBE 4 2015/2016 22 / 31

Čitanja i upis u fajlove Parametri prilikom kreiranja fajla ETF Beograd RE VEŽBE 4 2015/2016 23 / 31

Čitanja i upis u fajlove Parametri prilikom kreiranja fajla dwdesiredaccess Specificira pristup čitanja fajla i upisa u fajl. Može imati vrednosti: 0 - za proveru da li fajl postoji ili prosleđivanje osobina bez pristupa fajlu, GENERIC_READ - fajl namenjen čitanju, GENERIC_WRITE - fajl namenjen upisu. Za upis/čitanje se koristi GENERIC_READ kombinovano sa GENERIC_WRITE. dwcreationdisposition Podrazumeva akciju koju treba sprovesti nad fajlom: CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS, TRUNCATE_EXISTING. ETF Beograd RE VEŽBE 4 2015/2016 24 / 31

Čitanja i upis u fajlove Parametri prilikom kreiranja fajla ETF Beograd RE VEŽBE 4 2015/2016 25 / 31

Čitanja i upis u fajlove Parametri prilikom kreiranja fajla dwflagsandattributes ETF Beograd RE VEŽBE 4 2015/2016 26 / 31

Čitanja i upis u fajlove File procedure CloseHandle CloseHandle PROTO, hobject:handle ; handle to object ReadFile ReadFile PROTO, hfile:handle, ; input handle lpbuffer:ptr BYTE, ; ptr to buffer nnumberofbytestoread:dword, ; num bytes to read lpnumberofbytesread:ptr DWORD, ; bytes actually read lpoverlapped:ptr DWORD ; ptr to asynch info ETF Beograd RE VEŽBE 4 2015/2016 27 / 31

Čitanja i upis u fajlove File procedure WriteFile WriteFile PROTO, hfile:handle, ; output handle lpbuffer:ptr BYTE, ; pointer to buffer nnumberofbytestowrite:dword, ; size of buffer lpnumberofbyteswritten:ptr DWORD, ; num bytes written lpoverlapped:ptr DWORD ; ptr to asynch info SetFilePointer SetFilePointer PROTO, hfile:handle, ; file handle ldistancetomove:sdword, ; bytes to move pointer lpdistancetomovehigh:ptr SDWORD, ; ptr bytes to move, high dwmovemethod:dword ; starting point ETF Beograd RE VEŽBE 4 2015/2016 28 / 31

Čitanja i upis u fajlove 1 ; Creating a File (CreateFile.asm) 2 3 ; Inputs text from the user, writes the text to an output file. 4 5 INCLUDE Irvine32.inc 6 7 BUFFER_SIZE = 501 8.data 9 buffer BYTE BUFFER_SIZE DUP(?) 10 filename BYTE "output.txt",0 11 filehandle HANDLE? 12 stringlength DWORD? 13 byteswritten DWORD? 14 str1 BYTE "Cannot create file",0dh,0ah,0 15 str2 BYTE "Bytes written to file [output.txt]: ",0 16 str3 BYTE "Enter up to 500 characters and press " 17 BYTE "[Enter]: ",0dh,0ah,0 18 19.code 20 main PROC 21 ; Create a new text file. 22 mov edx,offset filename 23 call CreateOutputFile 24 mov filehandle,eax 25 26 ; Check for errors. 27 cmp eax, INVALID_HANDLE_VALUE ; error found? 28 jne file_ok ; no: skip 29 mov edx,offset str1 ; display error 30 call WriteString 31 call WriteString 32 jmp quit 33 file_ok: 34 35 ; Ask the user to input a string. 36 mov edx,offset str3 ; "Enter up to..." 37 call WriteString 38 mov ecx,buffer_size ; Input a string 39 mov edx,offset buffer 40 call ReadString 41 mov stringlength,eax ; counts chars entered 42 43 ; Write the buffer to the output file. 44 mov eax,filehandle 45 mov edx,offset buffer 46 mov ecx,stringlength 47 call WriteToFile 48 mov byteswritten,eax ; save return value 49 call CloseFile 50 51 ; Display the return value. 52 mov edx,offset str2 ; "Bytes written" 53 call WriteString 54 mov eax,byteswritten 55 call WriteDec 56 call Crlf 57 58 quit: 59 exit 60 main ENDP 61 END main ETF Beograd RE VEŽBE 4 2015/2016 29 / 31

Čitanja i upis u fajlove 1 ; Reading a File (ReadFile.asm) 2 ; Opens, reads, and displays a text file using 3 ; procedures from Irvine32.lib. 4 INCLUDE Irvine32.inc 5 INCLUDE macros.inc 6 7 BUFFER_SIZE = 50 8 9.data 10 buffer BYTE BUFFER_SIZE DUP(?) 11 filename BYTE 80 DUP(0) 12 filehandle HANDLE? 13 14.code 15 main PROC 16 17 ; Let user input a filename. 18 mwrite "Enter an input filename: " 19 mov edx,offset filename 20 mov ecx,sizeof filename 21 call ReadString 22 23 ; Open the file for input. 24 mov edx,offset filename 25 call OpenInputFile 26 mov filehandle,eax 27 28 ; Check for errors. 29 cmp eax,invalid_handle_value ; error opening file? 30 jne file_ok ; no: skip 31 mwrite <"Cannot open file",0dh,0ah> 32 jmp quit ; and quit 33 file_ok: 34 ; Read the file into a buffer. 35 mov edx,offset buffer 36 mov ecx,buffer_size 37 call ReadFromFile 38 jnc check_buffer_size ; error reading? 39 mwrite "Error reading file. " ; yes: show error message 40 call WriteWindowsMsg 41 jmp close_file 42 43 check_buffer_size: 44 cmp eax,buffer_size ; buffer large enough? 45 jb buf_size_ok ; yes 46 mwrite <"Error: Buffer too small for the file",0dh,0ah> 47 jmp quit ; and quit 48 buf_size_ok: 49 mov buffer[eax],0 ; insert null terminator 50 mwrite "File size: " 51 call WriteDec ; display file size 52 call Crlf 53 ; Display the buffer. 54 mwrite <"Buffer:",0dh,0ah,0dh,0ah> 55 mov edx,offset buffer ; display the buffer 56 call WriteString 57 call Crlf 58 59 close_file: 60 mov eax,filehandle 61 call CloseFile 62 quit: 63 exit 64 main ENDP 65 END main ETF Beograd RE VEŽBE 4 2015/2016 30 / 31

KRAJ! ETF Beograd RE VEŽBE 4 2015/2016 31 / 31