Top Banner
Şcoală universitară de formare iniţială şi continuă a personalului didactic şi a trainerilor din domeniul specializărilor tehnice şi inginereşti - DidaTec SISTEME CU MICROPROCESOARE Curs 2 – Setul de instrucţiuni Şef. Lucr. Dr. Ing. Duka Adrian-Vasile
51

Sel de Instructiuni microprocesoare

Sep 17, 2015

Download

Documents

Isa Cristi

Cateva instructiuni privind microprocesoarele
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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!