Documente Academic
Documente Profesional
Documente Cultură
RAPORT
CHIȘINĂU 2019
CUPRINS:
Sarcina lucrării………………………………………………………………………...…… 3
Indicații teoretice………………………………………………………………...…………. 3
Mersul lucrării……………………………………………………………………………… 4
Concluzia…………………………………………………………………………………… 13
Sarcina lucrării:
De elaborat și de rulat aplicațiile scrise în limbajul de asamblare MASM utilizând regiștrii pe 16, 32
și 64 de biți.
Indicații teoretice:
Pentru executarea lucrării, este necesar de a instala aplicația Microsoft Visual Studio și Irvine_7th.
Pentru a lansa un program în Assembler este necesar de a crea un fișier cu extensia .asm. În scop de
inițiere în acest limbaj, este bine să se studieze codurile deja existente în fișierul Irvine.
Un fișier .asm are următoarea structură:
.data – directivă care marchează începutul segmentului de date,
main PROC – indică începutul procedurii main în care este inclus tot codul programului,
main ENDP – indică sfârșitul procedurii,
END main – indică sfârșitul programului.
Se lansează aplicația Visual Studio, apoi se creează un proiect nou C++ pentru consolă.
Aici se observă execuția reușită a codului sursă, fiind inclusă biblioteca cu instrucțiuni Irvine32.inc.
Codul sursă:
; Library Test #1: Integer I/O (TestLib1.asm)
; Tests the Clrscr, Crlf, DumpMem, ReadInt,
; SetTextColor, WaitMsg, WriteBin, WriteHex,
; and WriteString procedures.
INCLUDE Irvine32.inc
.data
arrayD DWORD 1000h,2000h,3000h
prompt1 BYTE "Enter a 32-bit signed integer: ",0
dwordVal DWORD ?
.code
main PROC
; Set text color to yellow text on blue background:
mov eax,yellow + (blue * 16)
call SetTextColor
call Clrscr ; clear the screen
Includem în proiect oricare fișier .asm de 64 biți din directoriul Irvine – Examples – ... . Lansând
proiectul curent, obținem suma a două numere întregi, 5 și 6:
.code
main proc
mov rax,5 ;se introduce numărul 5 în memorie
add rax,6 ;se adaugă 6
mov sum,rax ;rezultatul se atribuie variabilei sum
call WriteInt64 ;se afișează suma
mov ecx,0 ;codul de returnare
call ExitProcess
main endp
end
Concluzia:
Efectuând lucrarea de laborator nr. 1, am reușit să fac cunoștință cu limbajul de asamblare MASM.
Deoarece toate operațiile au fost efectuate în mediul de programare Visual Studio, am apreciat pe larg
comoditatea lucrului cu el. Totodată, am observat că limbajul de asamblare necesită să fie studiat foarte
atent și minuțios, deoarece instrucțiunile sale nu sunt atât de intuitive ca și la limbajele clasice.