View
236
Download
4
Category
Preview:
DESCRIPTION
Cateva instructiuni privind microprocesoarele
Citation preview
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
SISTEME CU MICROPROCESOARE
Curs 2 Setul de instruciuni
ef. Lucr. Dr. Ing. Duka Adrian-Vasile
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Cuprins
Obiective
2.1 FORMATUL INSTRUCIUNILOR
2.2 CLASIFICAREA INSTRUCIUNILOR
Concluzii
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Cuprins
Obiective
2.1 FORMATUL INSTRUCIUNILOR
2.2 CLASIFICAREA INSTRUCIUNILOR
Concluzii
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
La finalul acestui capitol cursantul trebuie: s cunoasc instruciunile disponibile s cunoasc modul n care sunt codificate
instruciunile n memoria program
s cunoasc rolul parametrilor instruciunilor s utilizeze instruciunile pentru implementarea
operaiilor necesare n diferite programe
Obiective
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Cuprins
Obiective
2.1 FORMATUL INSTRUCIUNILOR
2.2 CLASIFICAREA INSTRUCIUNILOR
Concluzii
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Setul de instruciuni cuprinde: 75 de instruciuni 71 de instruciuni pe 16 bii 4 instruciuni pe 32 bii
RISC = Set Redus de Instruciuni
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Instruciunile realizeaz operaii asupra unor date din memorie
O instruciune trebuie s informeze UCP despre: tipul operaiei realizate locul unde se gsesc datele cu care instruciunea opereaz.
O instruciune va codifica binar urmtoarele informaii: codul operaiei unul sau mai multi operanzi
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Sunt definite 4 formate de instruciuni: instruciuni pe octet instruciuni pe bit instruciuni cu constante (literali) instruciuni de control
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Destinaia rezultatului (d) Zona de memorie accesat (a)
Instruciuni pe octet:
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Destinaia rezultatului (d) Zona de memorie accesat (a)
Instruciuni pe octet:
Operandul f: reprezint adresa de 8 bii a unui registru din memorie
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Destinaia rezultatului (d) Zona de memorie accesat (a)
Instruciuni pe octet:
Operandul d: 1 bit indic destinaia rezultatului operaiei realizate de instruciune d = 0 rezultatul WREG d = 1 rezultatul f
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Destinaia rezultatului (d) Zona de memorie accesat (a)
Instruciuni pe octet:
Operandul a: 1 bit indic modul de acces la registrul f a = 0 registrul f se gsete n Access Bank a = 1 registrul f se gsete ntr-un Bank specificat prin BSR
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Destinaia rezultatului (d) Zona de memorie accesat (a)
Instruciuni pe octet:
Formatul:15 10 9 8 7 0
Cod operaie d a f (adresa registrului)
Utilizare: cod_operatie f, d, acod_operatie f, a
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Destinaia rezultatului (d) Zona de memorie accesat (a)
Instruciuni pe octet:
Exemplu: ADDWF REG1, W, BANKEDCLRF 0x01, ACCESS
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Destinaia rezultatului (d) Zona de memorie accesat (a)
Instruciuni pe octet:
Excepia:
Utilizare: MOVFF fs,fd
15 12 11 0
Cod operaie fs (adresa registrului surs)15 12 11 0
1 1 1 1 fd (adresa registrului destinaie)
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Bitul din registru (b) Zona de memorie accesat (a)
Instruciuni pe bit:
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Bitul din registru (b) Zona de memorie accesat (a)
Instruciuni pe bit:
Operandul f: reprezint adresa de 8 bii a unui registru din memorie
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Bitul din registru (b) Zona de memorie accesat (a)
Instruciuni pe bit:
Operandul b: 3 bii poziia bitului afectat de instruciune n registrul f
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Bitul din registru (b) Zona de memorie accesat (a)
Instruciuni pe bit:
Operandul a: 1 bit indic modul de acces la registrul f a = 0 registrul f se gsete n Access Bank a = 1 registrul f se gsete ntr-un Bank specificat prin BSR
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au 3 operanzi: Registrul (f) Bitul din registru (b) Zona de memorie accesat (a)
Instruciuni pe bit:
Formatul:
Utilizare: cod_operatie f, b, a
15 12 11 9 8 7 0
Cod operaie b (poziie bit) a f (adresa registrului)
Exemplu: BSF REG, 4, ACCESS
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Au un operand: valoarea constantei (k)
Instruciuni cu constante (literali):
15 8 7 0
Cod operaie k (constant)Formatul:
Utilizare: cod_operatie k
Exemplu: MOVLW d23
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Pot utiliza urmtorii operanzi: O adres de salt din memoria program (n) Utilizarea stivei rapide (s) fr operand
Instruciuni de control:
15 8 7 0
Cod operaie n (adres din memoria program)15 12 11 0
1 1 1 1 n (adres din memoria program)
Formatul instruciunii GOTO:
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Pot utiliza urmtorii operanzi: O adres de salt din memoria program (n) Utilizarea stivei rapide (s) fr operand
Instruciuni de control:
Utilizare: cod_operatie ncod_operatie n,{s}cod_operatie scod_operatie
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Formatul instruciunilor
Pot utiliza urmtorii operanzi: O adres de salt din memoria program (n) Utilizarea stivei rapide (s) fr operand
Instruciuni de control:
Exemplu: GOTO main_loopCALL rutinaRETURN FASTNOP
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Cuprins
Obiective
2.1 FORMATUL INSTRUCIUNILOR
2.2 CLASIFICAREA INSTRUCIUNILOR
Concluzii
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni matematice pe octet:
Exemplu: ADDWF f, d, a
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni matematice pe octet:
Exemplu: ADDWF f, d, a
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni matematice pe octet:
Instruciuni DescriereADDWF f,d,a Adun WREG cu fADDWFC f,d,a Adun WREG cu f i cu bitul de transportSUBWF f,d,a Scade WREG din fSUBWFB f,d,a Scade f din WREG cu bitul de mprunutSUBFWB f,d,a Scade WREG din f cu bitul de mprumutINCF f,d,a Incrementeaz fDECF f,d,a Decrementeaz fMULWF f,a nmulete f cu WREGNEGF f,a Negare f
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni logice pe octet:
Exemplu: RLCF f, d, a
RLCF REG, W, 0
naintea instruciunii:REG=11100110C=0
Dup instruciune:REG=11100110WREG=11001100C=1
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni logice pe octet:
Exemplu: RLNCF f, d, a
RLNCF REG, W, 0
naintea instruciunii:REG=11100110C=0
Dup instruciune:REG=11100110WREG=11001101C=1
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni logice pe octet:
Instruciuni DescriereANDWF f,d,a I logic ntre WREG i fIORWF f,d,a SAU logic ntre WREG i fXORWF f,d,a SAU-EXCLUSIV ntre WREG i fCOMF f,d,a Complement fCLRF f,a Resetare bii din registrul fSETF f,a Setare bii din registrul fSWAPF f,d,a Interschimbare semioctei din registrul fRLCF f,d,a Rotire f la stnga cu bit de transportRLNCF f,d,a Rotire f la stnga fr bit de transportRRCF f,d,a Rotire f la dreapta cu bit de transportRRNCF f,d,a Rotire f la dreapta fr bit de transport
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni matematice i logice cu constante:
Exemplu: ANDLW k
ANDLW 0x0F
naintea instruciunii:WREG=11100110
Dup instruciune:WREG=00000110
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni matematice i logice cu constante:
Instruciuni DescriereADDLW k Adun WREG cu literalSUBLW k Scade WREG din literalMULLW k nmulete WREG cu literalANDLW k I logic ntre WREG i literalIORLW k SAU logic ntre WREG i literalXORLW k SAU-EXCLUSIV ntre WREG i literal
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni logice pe bit:
Exemplu: BCF f,b,a
BCF REG, 2, 0
naintea instruciunii:REG=11100110
Dup instruciune:REG=00001000
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni logice pe bit:
Instruciuni DescriereBCF f,b,a Reseteaz bitul b din registrul fBSF f,b,a Seteaz bitul b din registrul fBTG f,b,a Schimb starea bitului b din registrul f
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de comparaie pe bit:
Exemplu: BTFSC f,b,a
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de comparaie pe bit:
Instruciuni DescriereBTFSC f,b,a Testeaz bitul b din reg. f, salt dac este 0BTFSS f,b,a Testeaz bitul b din reg. f, salt dac este 1
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de comparaie pe octet:
Exemplu: CPFSEQ f,a
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de comparaie pe octet:
Exemplu: DECFSZ f,d,a
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de comparaie pe octet:
Exemplu: implementarea unei bucle for:
REG EQU 0x01MOVLW d100MOVWF REG
Bucla_forCLRF 0x00, 0DECFSZ REG, F, 0GOTO Bucla_for
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de comparaie pe octet:
Instruciuni DescriereCPFSEQ f,a Compar f cu WREG, salt dac f=WREGCPFSGT f,a Compar f cu WREG, salt dac f>WREGCPFSLT f,a Compar f cu WREG, salt dac f
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de mutare:
Exemplu: iniializarea unei locaii de memorie
MOVLW 0x55 ; 0x55 WREGMOVWF 0x2A, 0 ; WREG[F02A]
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de mutare:
Instruciuni DescriereMOVWF f,a Mut WREG n fMOVF f,d,a Mut fMOVFF fs,fd Mut fs(sursa) n fd(destinaie)MOVLW k Mut literal n WREGMOVLB k Mut literal (4 bii) n BSRLFSR f,k Mut literal (12 bii) n FSR(f)
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de control:
Exemplu: Salt necondiionat (relativ / absolut)
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de control:Instruciuni Descriere
BC n Salt dac bitul de transport (carry) este 1BN n Salt dac bitul negativ este 1BOV n Salt dac bitul de depire (overflow) este 1BZ n Salt dac bitul zero este 1BNC n Salt dac bitul de transport (carry) este 0BNN n Salt dac bitul negativ este 0BNOV n Salt dac bitul de depire (overflow) este 0BNZ n Salt dac bitul zero este 0BRA n Salt necondiionatGOTO n Salt la adresa / etichet
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Clasificarea instruciunilor
Instruciuni de control:Instruciuni Descriere
PUSH Pune n stiv (Salveaz PC n stiv)POP Scoate din stiv (Reface PC)CALL n,s Apel de subrutinRETURN s Revenire din subrutinRETLW k Revenire din subrutin cu literal n WREGRETFIE s Revenire din rutina de tratare a ntreruperiiNOP Nici o operaie
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Cuprins
Obiective
2.1 FORMATUL INSTRUCIUNILOR
2.2 CLASIFICAREA INSTRUCIUNILOR
Concluzii
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Concluzii
Exemplu:
s se iniializeze registrul de la adresa 0x37 cu valoarea 71s se incrementeze aceast valoare de 50 de oris se seteze bitul 4 al rezultatuluidac rezultatul obinut este > 200 s tearg coninutul registrului
de la adresa 0x37dac rezultatul obinut este < 200 s se seteze toi biii registrului
de la adresa 0x37
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Concluzii
Exemplu:
REG EQU 0X37CONTOR EQU 0X00MOVLW D71MOVWF REG, 0MOVLW D50MOVWF CONTOR, 0
Bucla_for:INCF REG, F, 0DECFSZ CONTOR, F, 0GOTO Bucla_forBSF REG, 4, 0MOVLW D200CPFSGT REG, 0SETF REG, 0CLRF REG, 0
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
Concluzii
n acest curs s-au studiat urmtoarele: Modul de reprezentare al instruciunilor n memoria program Rolul parametrilor instruciunilor Clasificarea instruciunilor n funcie de operaiile realizate Descrierea modului de execuie al instruciunilor Exemple
coal universitar de formare iniial i continu a personalului didactic i a trainerilor din domeniul specializrilor tehnice i inginereti - DidaTec
V mulumesc pentru atenie!
Recommended