Sunteți pe pagina 1din 5

UNIVERSITATEA TEHNICĂ A MOLDOVEI

FACULTATEA CALCULATOARE INFORMATICĂ ȘI MICROELETRONICĂ


CATEDRA MICROELECTRONICA ŞI INGINERIA BIOMEDICALĂ

RAPORT
Lucrare de laborator Nr.

la Arhitectura Calculatorului

Tema: Arhitectura microprocesorului Intel 8086

A efectuat: MN-181, Moraru Cristian

A verificat: conf.Univ.dr.
Crețu Vasile

Chisinau 2020
Scopul lucrării:
a) Studiul arhitecturii interne a microprocesorului Intel 8086.
b) Studiul resurselor interne (registre) si externe (memoria principala) ale
microprocesorului I 8086.
c) Programarea microprocesorului Intel 8086.

Notiuni teoretice:
Microprocesorul este o unitate centrala de prelucrare (UCP) realizata intr-un
singur circuit integrat. Un sistem digital de prelucrare realizat cu ajutorul unui
microprocesor este numit microcalculator. Microcalculatorul are trei functii
principale: prelucrarea informatiilor in UCP,stocarea informatiilor in memorie si
transferul informatiilor in interior si cu mediul exterior.

Arhitectura microprocesorului Intel 8086:


Să se cerceteze programul:
MOV CX, 5 ;
MOV AL, 0 ;
MOV BX, 0 ;
next: ADD AL, V1[BX] ;
MOV V1[BX], BL ;
INC BX ;
LOOP next ;
MOV V2, AL ;
HLT ;
; variables:
V1 DB 4, 3, 2, 1, 0
V2 DB 0

Se studiază comenzile sale:


MOV se utilizează pentru înscrierea în registrul CX ,se utilizează pentru a copia
numărul în registru AL , AL-registru,se copie în registrul BX valoarea 0, BX
lucrează cu operațiile de memorie-adresare indirectă,implicit în translații,conține
16 biți;
MOV V1[BX], BL se scrie un număr negativ într-un alt tablou BL din variabilele
V1(V1 DB 4, 3, 2, 1, 0), BL-(baza în adresarea datelor)

MOV V2, AL se copie/salvează conținutul registrului AL în V2

V2 DB 0-V2(variabila2), DB(Define Byte)

next: ADD AL, V1[BX] se adună operanzii V1[BX] cu AL, și se înscriu în primul
operand

INC BX se încrementează operandul BX cu 1 , BX=BX+1 , valoarea CF nu se


schimbă; INC – se folosește pentru a mări/сrește valoarea operandului în memorie
sau în registru cu 1.

LOOP next Această comandă reduce implicit CX ,dacă CX nu este egal cu 0 ,


LOOP micșorează , dacă CX este egal cu 0

HLT este comanda de intrerupere a procesului.

Microprocesoruleste o unitatecentrala de prelucrare (UCP) realizataintr-un singur circuit


integrat. Un sistem digital de prelucrarerealizat cu
ajutorulunuimicroprocesorestenumitmicrocalculator .Microcalculatorul are
treifunctiiprincipale: prelucrareainformatiilor in UCP, stocareainformatiilor in
memoriesitransferulinformatiilor in interior si cu mediul exterior.
Prinintermediulunorinterfete, numiteporturi de intrare/iesire(IO),
microcalculatorultransferainformatii cu elementelemediului exterior,
numiteechipamenteleperiferice. Echipamenteperifericesunt: tastatura, monitor,
imprimanta, disc hard, discheta, cititor de CD-ROM, etc.Microprocesorul Intel 8086
lucreaza cu date de 1 6 biti ,numitecuvinte de date. Transferurileintre UE si UI sau
intremicroprocesorsi MP sau IO se fac in general sub forma de cuvinte de date de 16 biti.
De aceea bus-ul intern prin care comunica UE si UI al microprocesorului Intel 8086 este
de 16 biti. Pentrucompatibilitate cu microprocesoarele care lucrau cu date de 8 biti, si
Intel 8086 poatetransferavalori sub forma unorocteti (date de 8 biti). De aceealocatiile
MP si ale IO suntocteti.
Microprocesorul Intel 8086poatelucra cu maximum 1 M octeti de MP, adicapoate
genera celmult 1 M de adresedistincte. Deoarece 1M = 216 ,inseamna ca adresele la
microprocesorul Intel 8086 suntreprezentabile cu 20 de biti .
Structuramicroprocesorului Intel 8086 este de tip "pipe-line" (prezintaparalelism
temporal ) permitandefectuarea in acelasitimp a douaoperatiidiferite de
catreceledouaunitatidiferite ale sale - UE decodificainstructiunilesiefectueazacalculele, in
timpce UI calculeazaadreselesiefectueazatransferurile.

Registrelegenerale se pot imparti in douaseturi de registre:


- registre de date: AX, BX, CX, DX;
- registre de adresare: SP, BP, SI, DI;
1 .Registrele de date se deosebescprinfaptul ca jumatatile( de capacitate 8 biti ) lor pot fi
accesate (citite sau scrise) separat. Aceastainseamna ca fiecareregistru de date poate fi
folosit ca un registru de 16 biti sau ca 2 registre de 8 biti :
- AX( acumulator ) de 16 biti, poate fi accesat ca AH si AL, ambele de 8 biti;
- BX( baza in adresareadatelor ) de 16 biti, poate fi accesat ca BH si BL, ambele de 8 biti;
- CX( contor ) de 16 biti, poate fi accesat ca CH si CL, ambele de 8 biti;
- DX( date ) de 16 biti, poate fi accesat ca DH si DL, ambele de 8 biti.
Registrele de date suntutilizate in majoritateainstructiuniloraritmeticesilogice.
Majoritateainstructiuniloraritmeticeutilizeaza in acelasi mod toateregistrele.
Existasiinstructiuniaritmeticepentru care anumiteregistregenerale au
intrebuintarispeciale ,prezentate in continuare:
AX - operatii de intrare/iesirepe 16 biti, implicit in inmultirisiimpartiripe 16 biti;
AL - operatii de intrare/iesirepe 8 biti, implicit in translatii, aritmetica BCD,
inmultirisiimpartiripe 8 biti;
AH - implicit in inmultirisiimpartiripe 8 biti;
BX - operatii cu memoria - adresareindirecta, implicit in translatii;
CX - implicit in operatii cu siruri sau bucle;
CL - operatii de deplasare sau rotatiecu maimult de 1 pozitie;
DX - operatii de intrare/iesire - adresareindirecta, implicit in inmultirisiimpartiripe 16
biti.

2. Registrele de adresare, de 16 biti, se impart la rindullor in :


a)registreindicatoare de adresa in stiva (pointer):
- SP (Stack Pointer) - contineadresacurenta a varfuluistivei,
- BP (Base Pointer) - implicit contineadresa de bazapentruadresareaindirecta a stivei ;
b)registreindicatoare de adresapentrusiruri (index) :
- DI (Destination Index) - implicit contineadresacurentapentrusiruldestinatie,
- SI (Source Index) - implicit contineadresacurentapentrusirulsursa.
Registrele de adresare pot fi utilizatesipentru date in anumiteinstructiuniaritmeticesi
logice.

3.Registrele segment sunt:


Cele 4 registre segment sunt:
- CS (Cod Segment) - continecomponenta segment a adreselorcodului
(instructiunilorprogramului);
- DS (Data Segment) - continecomponenta segment a adreselorvariabilelor (segment date
curent);
- ES (Extra Segment) - continecomponenta segment a adreselorvariabilelor (segment
suplimentar);

- SS (Stack Segment) - continecomponenta segment aadreselordatelor din segmentulstiva

1 grupa
- TF – (trace flag) regimul de trasare

- DF – (direction flag) directia de citire a memoriei

- IF – (intreruption flag)

- [CF,AF,OF] Grupa 2

- [ZF,SF,PF] Grupa 3

S-ar putea să vă placă și