nivelul limbajului cod-mașină - cs.ucv.ro 10-2-nivelul limbajului cod-masina... · prin deplasare...
TRANSCRIPT
Arhitectura
Calculatoarelor
Cătălina Mancaș Dan Mancaș
[email protected] [email protected]
Universitatea din Craiova
Facultatea de Automatică, Calculatoare și Electronică
Catedra de Ingineria Calculatoarelor și Comunicații
Nivelul limbajului cod-mașină
Partea a II-a
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Patea I...
Arhitectura calculatoarelor;
Instrucţiunea la nivelul cod-mașină;
Formate de instrucţiuni;
Criterii de proiectare a formatelor de instrucţiuni;
Lungimea instrucţiunilor;
Noţiunea de metabit;
Formate de instrucţiuni ortogonale şi arhitecturi etichetate.
2
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Astăzi...
Clase de instrucţiuni la nivel cod maşină;
Clasa de instrucţiuni de transfer al datelor;
Clasa de instrucţiuni diadice;
Clasa de instrucţiuni monadice;
Clasa instrucţiunilor de I/O;
Clasa instrucţiunilor de control al ciclurilor;
Clasa instrucţiunilor de control ale CPU.
3
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clase de instrucţiuni la nivelul cod maşină
4
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa de instrucţiuni de transfer al datelor
5
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa de instrucţiuni de transfer al datelor
Operații de transfer operații de copiere;
Copie: combinație identică de biți;
6 subclase:
1. încărcarea registrelor din memorie;
2. transferul din registru în memorie;
3. transferul din registru în registru;
4. transferul din memorie în memorie;
5. înscrierea în stivă;
6. citire (extragere) din stivă.
Definite prin locurile unde datele sunt păstrate în interiorulcalculatorului: în memorie, în registre (din CPU), stivă.
6
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa de instrucţiuni de transfer al datelor
Operație de copiere => instrucțiune de duplicare a datelor;
Instrucțiunea de duplicare:
– identificarea sursei;
– identificarea destinaţiei;
– definirea volumului.
Format special: GPM (General Purpose Move).
7
Dată Copie Dată
Sursă Destinaţie
data path
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Formatul GPM
Câmpuri pentru:
– sursă;
– destinaţie;
– nr. de Bytes;
– un indicator referitor la vectorul de stare.
Structură ortogonală: fiecare parametru este independentde ceilalţi;
Puţine procesoare au adoptat structura GPM;
Lungime mare => necesită un volum mare de memorie.
8
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Exemple de instrucţiuni de transfer
La procesorul I8080:
– Instrucţiunea LOAD (LDA);
– Instrucţiunea STORE (STA);
– Instrucţiuni de transfer între registre;
– Instrucţiuni de transfer din memorie în registru;
– Instrucţiuni de transfer din registru în memorie;
– Instrucţiuni de transfer imediat de dată în registru;
– Instrucţiuni de transfer imediat de dată în memorie.
9
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea LOAD (LDA)
Memorie -> ACC;
Este o instrucţiune pe 3 octeţi;
Octeţii 2 şi 3 precizează adresa de memorie (pe 16 biţi);
Adresa destinaţiei - ACC (la I8080 se notează A) nu se dă, este subînţeleasă;
Opcode-ul instrucţiunii: 3A în hexa;
Forma generală:LDA Adresă (A) ((octet 3)(octet 2));
10
0011 1010
(Adr. Inf)
octet 2
(Adr. Sup)
octet 3
3 locaţii
3AOPCODE
ADR
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
ACC -> Memorie;
Este o instrucţiune pe 3 octeţi;
Octeţii 2 şi 3 precizează adresa de memorie (pe 16 biţi) unde se va depune conţinutul ACC;
Forma generală: STA Adresă ((octet3)(octet2)) (A);
11
0011 0010
(Adr. Inf)
octet 2
(Adr. Sup)
octet 3
3 locaţii
32OPCODE
ADR
Instrucţiunea STORE (STA)
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de transfer între registre
Procesorul I8080: registre;
12
A PSW
B C
D E
H L
SP
PC
RI
8 biti
16 biti
8 biti 8 biti 16 biți:
BC, DE, HL;
SP – Stack Pointer
PC – Program Counter;
8 biți:
A – Accumulator;
RI – Registrul Instrucțiune;
B, C, D, E, H, L;
5 biți:
PSW – Program Status Word;
Flags: C, Z, S, P, AC.
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de transfer între registre
MOV R1, R2 (R1) (R2)
Instrucţiune pe un singur octet;
Ocupă o locaţie de memorie;
13
SursăDestinaţie
01 DDD SSS
adresă
registru
destinaţie
adresă
registru
sursăDDD sau SSS Registru
111 A
000 B
001 C
010 D
011 E
100 H
101 L
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
MOV R, M (R) ((H) (L))
Transferă data din memorie, din locaţia precizată deadresa furnizată de perechea (HL), în registrul precizat îninstrucţiune, adică subcâmpul DDD.
Instrucţiunea este pe un octet;
Această instrucţiune adresează memoria indirect prin perechea de registre (HL).
14
SursăDestinaţie
01 DDD 110
adresă
registru
destinaţie
identificator
memorie
OPCODE
Instrucţiuni de transfer memorie-registru
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de transfer registru-memorie
MOV M, R ((H) (L)) (R)
Transferă data din registrul desemnat în instrucţiune (R) înmemorie, la locaţia cu adresa desemnată prin conţinutulperechii de registre (HL);
Instrucţiunea este pe un octet;
Această instrucţiune adresează memoria indirect prinperechea de registre (HL).
15
01 110 SSS
identificator
memorie
adresă
registru
sursă
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de transfer imediat de dată în registru;
MVI R, DATA (R) DATA
Realizează transferul imediat de dată în registrul specificat;
Este o instrucţiune pe 2 octeţi;
Al doilea octet îl reprezintă data imediată.
16
Instrucţiuni de transfer imediat de dată
00 DDD 110 DATA
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de transfer imediat de dată în memorie.
MVI M, DATA ((H) (L)) DATA
Realizează transferul imediat de dată într-o locaţie dememorie;
Data imediată ce însoţeşte instrucţiunea se poate transferaîntr-o locaţie de memorie a cărei adresă este specificată deperechea de registre (HL);
Este o instrucţiune pe 2 octeţi;
Al doilea octet îl reprezintă data imediată.
17
Instrucţiuni de transfer imediat de dată
00 110 110 DATA
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa de instrucţiuni diadice
18
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Exemple de instrucţiuni diadice
Instrucţiunile de prelucrare de natură aritmetică şi logică încare intervin 2 operanzi;
La procesorul I8080:
– Adunarea între ACC şi un registru;
– Adunare cu operand din memorie;
– Adunare cu registru şi transport;
– Adunare cu data din memorie şi transport;
– Instrucţiunea AND cu registru;
– Instrucţiunea AND cu memoria;
– Instrucţiunea XOR cu registrul;
– Intrucţiunea XOR cu memoria.
19
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Adunarea între ACC şi un registru
Un operand se află în acumulator, iar celălalt operand înregistrul R;
Rezultatul se depune în ACC;
Este o instrucţiune pe un singur octet;
ADD R (A) (A) + (R);
20
10 000 SSS
adresă
registru
sursă
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Adunare cu operand din memorie
Se adună conţinutul ACC cu operandul existent înmemorie, în locaţia desemnată de perechea de registre (HL);
Suma se depune în ACC;
ADD M (A) (A) + ((H) (L));
110 desemnează memoria;
Adresare indirectă prin perechea (HL).
21
10 000 110 86
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Adunare cu registru şi transport
Unul dintre indicatorii de stare e indicatorul de transport"carry" (C);
Se adună conţinutul ACC cu cel al registrului desemnat îninstrucţiune prin SSS şi bitul de transport ce se află în PSW(C), rezultatul se depune în ACC;
ADC R (A) (A) + (R) + (C)
Observaţie: Asemănător se definesc şi operaţiile descădere.
22
10 001 110
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea AND
Funcţie logică;
Are rolul de a extrage o parte din biţii unui operand;
Pentru aceasta se foloseşte o mască;
Masca conţine 1 pe rangul biţilor ce trebuie extraşi;
Exemplu: 10100101, şi dorim să extragem ultimii 3 biţi:
10100101
00000111 -> masca
-------------- AND
00000101
Instrucţiunea AND instrucţiune de mascare.
23
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea OR
Asigură introducerea de noi biţi într-un operand;
Exemplu: 00001101;
Se cere inserţia de 3 de 1 în primele 3 ranguri;
Se adoptă masca 1110000:
00001101
11100000 -> masca;
-------------- OR
11101101
24
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea XOR
10101101
10100110
-------------- XOR
00001011
Operaţia OR creşte numărul de 1;
AND scade numărul de 1;
Prin XOR, în medie, numărul de 1 rămâne acelaşi.
25
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea AND cu registru
Se realizează operaţia AND între conţinutul ACC şiconţinutul registrului R specificat direct în instrucţiune;
După realizarea acestei operaţii, indicatorul de stare detransport, în mod obligatoriu, se fixează pe 0.
ANA R (A) (A) ∩ (R)
(C) 0
Formatul în cod maşină este:
26
10 100 SSS
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea AND cu memoria
Se realizează operaţia AND între conţinutul ACC şiconţinutul unei locaţii de memorie specificată implicit princonţinutul perechii de registre (HL);
ANA M (A) (A) ∩ ((H)(L))
(C) 0
Formatul în cod maşină este:
A6
27
10 100 110
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea XOR cu registrul
Se face XOR între conţinutul ACC şi cel al unui registru;
Rezultatul se trimite în ACC;
Obligatoriu, indicatorul C e resetat, adică adus în 0;
XRA R (A) (A) ⊕ (R)
(C) 0
Formatul în cod maşină este:
28
10 101 SSS
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea XOR cu memoria
Se face XOR între conţinutul ACC şi cel al unei locaţii dememorie ce este desemnată indirect prin conţinutulperechii de registre (HL);
Obligatoriu, indicatorul de stare C e resetat, adică adus în0;
XRA M (A) (A) ⊕ ((H)(L))
(C) 0
Formatul în cod maşină este:
AE
29
10 101 110
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa de instrucţiuni monadice
30
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucțiuni monadice
Instrucţiuni de procesare cu un operand;
Lipseşte al doilea operand => instrucţiuni mai scurte;
Conţine:
– instrucţiuni de complementare;
– instrucţiuni de deplasare stânga/dreapta;
– instrucţiuni de rotire stânga/dreapta;
– instrucţiuni de incrementare;
– instrucţiuni de decrementare.
31
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucțiuni monadice
O importanţă deosebită o au instrucţiunile dedeplasare;
Fie un operand pe 8 biţi: 10101010;
Prin deplasare la dreapta bitul cel mai din dreapta sepierde;
Prin stânga se poate insera 0 sau 1:
– Deplasarea dreapta cu inserţie de 0: 01010101
– Deplasarea dreapta cu inserţie de 1: 11010101
Există instrucţiuni de deplasare dreapta aritmetică undeprin deplasare, msb-ul se conservă;
Exemplu: operandul 10101010, prin deplasare dreaptaaritmetică se obţine 11010101.
32
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucțiuni monadice
În cazul rotirii bitul care iese se reinscrie în cealaltă extremitate;
Exemplu:
10101010 prin rotire dreapta 01010101
10101010 prin rotire stânga 01010101
Proprietate: Dacă operandul e pe n biţi atunci o rotire dreaptacu k biţi e echivalentă cu o rotire stânga cu (n-k) biţi;
Observaţie: De aceea nu toate repertoriile de instrucţiuni includambele rotiri;
Instrucţiunile de deplasare sunt foarte utile pentru operaţilearitmetice pentru înmulţire, împărţire, ridicare la putere sauradical;
O deplasare stânga e echivalentă cu o înmulţire cu 2, iar odeplasare dreapta este echivalentă cu o împărţire la 2.
33
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa instrucţiunilor de comparaţie şi salt
34
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de comparaţie şi salt
Toate programele necesită să modifice fluxul de execuţie(control);
Exemplu: realizarea rădăcinii pătrate;
Mai înâi se testează semnul lui N;
– Dacă N<0 atunci operaţia nu are loc şi se lansează rutina
EROARE;
– Dacă N>0 atunci operaţia are loc şi se lansează subrutina
RADICAL.
Operație: salt condiţionat;
Metodă: ramificare condiţionată;
Se testează mai întâi o condiţie şi dacă e îndeplinită are locsaltul la o adresă particulară de memorie.
35
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de comparaţie şi salt
Uneori, în instrucţiune există un subcâmp de 1 bit carestabileşte logica testului (condiţie adevărată sau falsă);
Fals: salt la o anumită adresă de memorie;
Cea mai simplă metodă de test: este de a evaluaindicatorii de stare, indicatori de condiţie saufanioane (flags) din CPU;
Flag-uri uzuale:
– indicatorul de zero: Z;
– indicatorul de paritate: P;
– indicatorul de transport: C;
– indicatorul de depăşire: OV (overflow);
– indicatorul de semn: S.
36
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de comparaţie şi salt
Testarea se poate realiza şi prin compararea a douăcuvinte;
Se testează dacă sunt egale (egalitatea) sau dacă unul emai mare ca altul (inegalitatea);
Instrucţiunile de comparare sunt prezente în majoritatearepertoriilor de instrucţiuni;
Ele permit şi realizarea unor funcţii de sortare;
Rezultatul comparării: biţi de condiţie -> testaţi;
Condiţie este indeplinită: salt la adresa specificată dememorie;
Observaţii:
La compararea numerelor trebuie să se ţină cont de semnul lor;
Există şi instrucţiuni de salt necondiţionat: un caz particular desalturi condiţionate, unde condiţia este îndeplinită întotdeauna.
37
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Salt necondiţionat
Adresa se încarcă în PC;
Este o instrucţiune pe 3 octeţi;
Octeţii 2 şi 3 reprezintă adresa de salt;
Octelul 3 este partea cea mai semnificativă;
Octetul 2 este partea cea mai puţin semnificativă a adresei;
Reuniunea celor doi octeţi: 3 şi 2 se transferă în PC.
JMP Adresă (PC) ((octet 3) (octet 2))
3 locaţii
38
11000011
(Adr. Inf) octet 2
(Adr. Sup) octet 3
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Salt condiţionat
Se testează condiţia specificată;
Dacă este îndeplinită: salt la adresa dată în instrucţiune;
Este o instrucţiune pe 3 octeţi;
Octeţii 2 şi 3 reprezintă adresa de salt;
Condiţia de test apare implicit în primul octet, adică înOPCODE;
Condiţiile sunt codificate în instrucţiune prin 3 biţidesemnaţi CCC.
if (CCC) then
PC ((octet 3) (octet 2))
39
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Salt condiţionat
40
11CCC011
(Adr. Inf) octet 2
(Adr. Sup) octet 33 locaţii
CCC Condiţie
000 NZ NOT ZERO (Z=0)
001 Z ZERO (Z=1)
010 NC NO CARRY (C=0)
011 C CARRY (C=1)
100 PO PARITY ODD (P=0)
101 PE PARITY EVEN (P=1)
110 P PLUS (S=0)
111 M MINUS (S=1)
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Salt condiţionat
Pentru implementarea operaţiilor de comparare repertoriulde instrucţiuni conţine şi instrucţiuni de comparaţie;
Comparaţia se face prin scădere;
După efectuarea scăderii se poate determina dacă cei doioperanzi sunt egali atunci rezultatul este zero, şi deciindicatorul Z se activează (devine 1).
Dacă rezultatul este negativ atunci primul operand estemai mic decât al doilea şi se activează indicatorul de starede transport (C).
41
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Comparaţia cu registrul
Se compară conţinutul registrului cu ACC;
Registrul este desemnat în OPCODE;
Operaţia de comparare: se scade din conţinutul ACCconţinutul registrului desemnat;
După operaţie ACC rămâne nemodificat, dar se modificăindicatorii de stare;
Dacă cei 2 operanzi sunt egali, atunci se setează Z şi dacăACC e mai mic decît conţinutul registrului atunci se seteazăC.
42
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Comparaţia cu registrul
CMP R;
(A) - (R) => (A) nemodificat
dacă (ACC)=(R) => (Z)=1
dacă (ACC)<(R) => (C)=1
43
10111 SSS
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Comparaţia cu dată imediată
Se compară conţinutul ACC cu un octet ce se dă explicit îninstrucţiune, deci dată imediată;
Data se dă în instrucţiune, în cel de-al doilea octet;
Instrucţiunea este pe 2 octeţi;
CPI DATA;
(A) - (octet 2) => (A) nemodificatdacă (ACC)=DATA => (Z) =1
dacă (ACC)<DATA => (C)=1
FE
44
11111110
DATA
Octet 2
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Comparaţia cu memoria
Se compară conţintul ACC cu conţinutul locaţiei dememorie desemnată implicit prin conţinutul perechii deregistre (HL);
Comparaţia se face prin scădere.
CMP M;
(A) - ((H)(L)) => (A) nemodificat
dacă (ACC)=((H)(L)) => (Z)=1
dacă (ACC)< ((H)(L)) => (C)=1
BE
45
10111 110
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa instrucţiunilor de apel de proceduri
46
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de apel de proceduri
Procedura (subrutină): un grup de instrucţiuni cereprezintă o anumită sarcină de calcul şi poate fi invocatădin diferite puncte ale programului în execuţie;
După ce procedura îşi încheie execuţia trebuie să aibă locrevenirea după apelul procedurii;
Adresele de revenire în programul apelant (principal)trebuie memorate;
3 locuri unde adresa de revenire poate fi plasată: înmemorie, în registru sau în stivă;
Cel mai bun procedeu este de a memora adresa derevenire (retur) în stivă.
47
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de apel de proceduri
La execuţia instrucţiunii de apel (de regulă esteinstrucţiunea CALL) are loc înscrierea în vârful stivei aadresei de revenire în programul apelant;
Atunci când procedura este terminată (sarcina de calcul afost îndeplinită), procedura execută o instrucţiune derevenire RETURN, prin care citeşte vârful stivei şi-ldirijează spre PC;
Are loc un salt la adresa impusă reprezentând punctul derevenire în programul apelant;
Procedeul folosirii stivei este foarte răspândit în specialpentru că asigură implementarea recurenţei;
Definiţie: Abilitatea unei proceduri de a se autoapela senumeşte recurenţă.
48
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa instrucţiunilor de control al ciclurilor
49
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de control al ciclurilor
Necesitate: execuţia unui grup de instrucţiuni de un anumitnumăr de ori predeterminat;
Implicit: existenţa unui numărător ce funcţionează cu rolulde contor al execuţiei ciclurilor;
După fiecare parcurgere a grupului de instrucţiuni se dă ocomandă de incrementare sau decrementare anumărătorului de buclă;
Când se ajunge la valoarea 0 sau la o valoarepredeterminată, se dă comanda de ieşire din buclă;
Deci, la fiecare parcurgere a grupului se testează şinumărătorul;
Dacă condiţia este îndeplinită atunci execuţia buclei seîncheie;
Procesorul I8080 nu are astfel de instrucţiuni.
50
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa instrucţiunilor de I/O
51
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni I/O
Este clasa cu cea mai mare varietate între diferitele tipuride CPU-uri;
Instrucţiuni explicite de I/O şi cele care nu au instrucţiunispecifice de I/O.
Cea mai simplă metodă: instrucţiuni ce asigură transferulunui singur octet;
Instrucţiunea INPUT: permite transferul unui singur octetdintr-un port de intrare (ce trebuie desemnat îninstrucţiune) şi ACC;
Instrucţiunea OUTPUT: asigură transferul unui singur octetdin ACC într-un port de ieşire, desemnat prin numărul său(adresă) în instrucţiune.
52
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea Input
Se citeşte conţinutul portului de intrare (1 octet);
Se depune pe DATA BUS;
Se transferă în ACC;
IN port (A) (port)
DB
53
11011011
Nr. de port2 locaţii
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiunea Output
Conţinutul ACC (1 octet) se depune pe DATA BUS (pe 8biţi) şi se trimite în portul de ieşire desemnat;
Aici se înscrie o copie a ACC;
OUT port (port) (A)
D3
54
11010011
Nr. de port2 locaţii
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Clasa instrucţiunilor de control ale CPU
55
ARHITECTURA CALCULATOARELOR – Nivelul limbajului cod-mașină
Instrucţiuni de control
Sunt instrucţiuni specifice fiecărui CPU;
Pentru administrarea internă;
În mare se regăsesc în toate repertoriile;
De exemplu, instrucţiunea HALT care asigură oprireafuncţionării CPU;
Grupul EI (Enable Interrupt) şi DI (Disable Interrupt)asigură activarea/dezactivarea sistemului de întreruperi;
Instrucţiunea NOP este utilă pentru definirea unor cuantede timp.
56