MINISTERUL EDUCAȚIEI, CULTURII ȘI CERCETĂRII AL REPUBLICII MOLDOVA I.P CENTRUL DE EXCELENȚĂ ÎN ENERGETICĂ ȘI ELECTRONICĂ Catedra ” Sisteme informaţionale”
Raport Lucrarea de laborator nr. 1 La disciplina: Microprocesoare si Microcontrolere Tema: „Arhitectura Intel x86 și elemente de bază ale limbajului de asamblare”
A efectuat elevul gr. AI-0115:
/________/ Deșcan Victor
A verificat profesorul:
/________/ Negară Eugeniu
Data prezentării: _______________
Chișinău 2019
1. Scopul lucrarii; Studierea structurii unui sistem de calcul: Familia Intel x86; Arhitectura setului de instrucțiuni; Organizarea memoriei; Studierea elementelor de bază ale limbajului de asamblare: Construcții de bază; Structura generală a unui program MASM; Studierea instrumentelor de lucru pentru compilare și depanare: Asamblorul și linker-ul; Depanarea programelor; 2. Desfăşurarea lucrării; 1) Am efectuat discuții legate de arhitectura Intel x86,discutind desptre faptul că majoritatea sistemelor de calcul din zilele noastre sunt constituite din 3 tipuri de componente: memoria principală, unitatea centrală de prelucrare (CPU), dispozitive de intrare/ieșire, memoria principal a sistemului este direct accesibilă de către unitatea centrală de prelucrare, și poate conține date sau cod, acest tip de memorie se mai numește și memorie RAM (Random Access Memory), deoarece orice locație aleatoare din aceasta poate fi adresată în timp constant. 2) Am deschis fişierul s2ex1.asm cu EMU8086.
Fig. 1. „Model de program în limbaj de asamblare”
3) Am prezentat continutul fisierului s2ex1.asm. name "huge" org jmp len
100h
code equ
32
num1 db
0,0,4,2,3,4,5,4,6,1,2,3,6,1,2,3,4,5,1,2,3,4,4,5,3,5,1,7,9,5,2,1
num2 db
0,0,7,1,2,3,7,8,8,4,7,7,7,1,9,8,1,1,2,3,5,1,3,1,3,7,8,8,2,4,9,8
sum
db
len dup(0)
code: nop xor
bx, bx
mov
cx, len
mov
bx, len-1
next_digit: mov adc
al, num1[bx] al, num2[bx]
aaa mov dec
sum[bx], al bx
loop next_digit adc
sum[bx], 0
mov
cx, len
mov
bx, 0
print_d: mov or
al, sum[bx] al, 30h
mov
ah, 0eh
int
10h
inc
bx
loop print_d mov ah, 0 int 16h ret
4) Am compilat s2ex1.asm
Fig. 2. „EMU8086” 5) Am executat emulatorul EMU8086 apăsind butonul „RUN”.
Fig. 3. „Original source code”
Fig. 4. „huge__o.bin_” 6) Am apasat pe butonul „RUN” si sa pornit procesul de executare.
Fig. 5. „emulator screen” 7) Am analizat rezultatul care este 01135833460133215635857673062019
3. Concluzia; În această lucrare de laborator am studiat structura unui sistem de calcul, familia Intel x86, arhitectura setului de instrucțiuni, organizarea memoriei, studierea elementelor de bază ale limbajului de asamblare, construcții de bază, structura generală a unui program MASM, studierea instrumentelor de lucru pentru compilare și depanare, asamblorul și linker-ul, depanarea programelor, am efectuat discuții legate de arhitectura Intel x86, am deschis fişierul s2ex1.asm cu EMU8086. am prezentat continutul fisierului s2ex1.asm, am compilat s2ex1.asm, am executat emulatorul EMU8086 apăsind butonul „RUN”, am apasat pe butonul „RUN” si sa pornit procesul de executare, am analizat rezultatul care este 01135833460133215635857673062019,