Instrukce procesoru pro pesun MOV mov X Y

  • Slides: 9
Download presentation
Instrukce procesoru pro přesun (MOV) mov X, Y mov mov mov A, A, A,

Instrukce procesoru pro přesun (MOV) mov X, Y mov mov mov A, A, A, Rn DPH DPL SPH SPL Instrukce kopíruje osmibitová data ze zdroje Y do cíle X mov mov mov Př. : Vyměnit obsahy registrů R 0 a R 1 mov mov mov A, R 0 R 2, A A, R 1 R 0, A A, R 2 R 1, A Rn, A DPH, A DPL, A SPH, A SPL, A mov mov mov A, #Data 8 Rn, #Data 8 DPTR, #Data 16 SP, #Data 16 A, Adresa 8 mov mov mov A, @Rn, A A, @DPTR, A Adresa 8, A Př. : Do paměti, na adresu AAh vložit hodnotu 123 Př. : Do paměti, na adresu AAAAh vložit hodnotu 123 mov A, #123 mov 0 AAH, A mov A, #123 mov DPTR, #0 AAAAH mov @DPTR, A Jako vedlejší efekt program také změní obsahy registrů R 2 a Acc. Jako vedlejší efekt program také změní obsah registru Acc. Jako vedlejší efekt program také změní obsahy registrů Acc a DPTR.

Instrukce procesoru pro vstup a výstup (IN, OUT) in A, Adresa 8 out Adresa

Instrukce procesoru pro vstup a výstup (IN, OUT) in A, Adresa 8 out Adresa 8, A Instrukce zkopíruje osmibitová data z adresou vybraného vstupního portu do akumulátoru Acc. Instrukce zkopíruje osmibitová data z akumulátoru Acc na adresou vybraný výstupní port. Vstupní porty nemají vlastnost registru. Jejich obsah je v každém okamžiku dán děním mimo počítač. Instrukce „in“ jednorázově, jen v momentu svého vykonávání, zkopíruje obsah portu do akumulátoru Acc Výstupní porty mají vlastnost registru. Jejich obsah je dán posledním provedením instrukce „out“.

Instrukce procesoru pro logické operace (CPL, ANL, ORL, XRL) cpl A anl A, X

Instrukce procesoru pro logické operace (CPL, ANL, ORL, XRL) cpl A anl A, X anl A, Rn anl A, #Data 8 anl A, @Rn anl A, Adresa 8 Instrukce neguje všech osm bitů akumulátoru Acc 01110011 0 1 Acc 10001100 1 0 Instrukce provede po bitech logický součin obsahu akumulátoru Acc a druhého operandu X a výsledek uloží do akumulátoru Acc. Operace součin se provede na dvojicích stejnolehlých bitů obou operandů. Acc X 01110011 01001101 0 0 1 1 1 Acc 01000001 0 0 0 1

Instrukce procesoru pro logické operace (CPL, ANL, ORL, XRL) orl A, X orl A,

Instrukce procesoru pro logické operace (CPL, ANL, ORL, XRL) orl A, X orl A, Rn orl A, #Data 8 orl A, @Rn orl A, Adresa 8 xrl A, X xrl A, Rn xrl A, #Data 8 xrl A, @Rn xrl A, Adresa 8 Instrukce provede po bitech logický součet obsahu akumulátoru Acc a druhého operandu X a výsledek uloží do akumulátoru Acc X 01110011 01001101 0 0 1 1 1 Acc 01111111 0 1 1 1 Instrukce provede po bitech exkluzivní součet obsahu akumulátoru Acc a druhého operandu X a výsledek uloží do akumulátoru Acc X 01110011 01001101 0 0 1 1 1 Acc 00111110 0 1 1 0

Instrukce procesoru pro rotace v akumulátoru (RR, RRC, RLC) Acc 01110011 Acc 10111001 C

Instrukce procesoru pro rotace v akumulátoru (RR, RRC, RLC) Acc 01110011 Acc 10111001 C Acc 0 01110011 C Acc 1 00111001 Acc 01110011 Acc 11100110 C Acc 0 01110011 C Acc 0 11100110 rr A rrc A rlc A Instrukce rotují jednotlivé bity doprava (RR a RRC) nebo doleva (RL a RLC). Rotace se účastní bity akumulátoru Acc (RR a RL) nebo bity akumulátoru Acc spolu s jednobitovým registrem C.

Instrukce procesoru pro aritmetické operace (INC, DEC, ADD, SUBB) inc X Instrukce provede inkrementaci

Instrukce procesoru pro aritmetické operace (INC, DEC, ADD, SUBB) inc X Instrukce provede inkrementaci (zvýšení o 1) operandu X. inc A inc Rn inc DPTR dec X Instrukce provede dekrementaci (snížení o 1) operandu X. dec A dec Rn Obě instrukce INC a DEC nemají vliv na jednobitový registr C.

Instrukce procesoru pro aritmetické operace (INC, DEC, ADD, SUBB) add A, X add A,

Instrukce procesoru pro aritmetické operace (INC, DEC, ADD, SUBB) add A, X add A, Rn Instrukce provede aritmetický součet obsahu akumulátoru Acc a druhého operandu X a výsledek uloží do akumulátoru Acc. add A, #Data 8 add A, @Rn add A, Adresa 8 addc A, X addc A, Rn addc A, #Data 8 Instrukce provede aritmetický součet obsahu akumulátoru Acc, druhého operandu X a jednobitového registru C a výsledek uloží do akumulátoru Acc. addc A, @Rn addc A, Adresa 8 Obě instrukce ADD a ADDC počítají výsledek na 9 bitů. Devátý bit výsledku se ukládá do jednobitového registru C.

Instrukce procesoru pro aritmetické operace (INC, DEC, ADD, SUBB) subb A, X subb A,

Instrukce procesoru pro aritmetické operace (INC, DEC, ADD, SUBB) subb A, X subb A, Rn subb A, #Data 8 Instrukce provede aritmetický rozdíl obsahu akumulátoru Acc, druhého operandu X a jednobitového registru C. Výsledek se uloží do akumulátoru Acc. subb A, @Rn subb A, Adresa 8 Vykonání instrukce SUBB ovlivňuje obsah jednobitového registru C. Je-li výsledek odčítání nezáporný, je C=0, je-li výsledek záporný, je C=1.

Instrukce procesoru pro skoky v programu (JMP, JZ, JNZ, JC, JNC) jmp Adresa 16

Instrukce procesoru pro skoky v programu (JMP, JZ, JNZ, JC, JNC) jmp Adresa 16 Instrukce zajistí, že jako další se bude provádět instrukce na uvedené adrese. Instrukce nepodmíněného skoku. Místo uvedení číselné hodnoty adresy se doporučuje používat adresu symbolickou (návěští). Návěští je definováno uvedením před vybranou instrukcí v programu (návěští je od instrukce odděleno dvojtečkou). Návěští může být definováno v jednom programu nejvýše jednou. Př. : dynamický STOP Př. : nekonečná smyčka LOOP: mov inc out jmp A, #0 A 0 AAH LOOP: mov A, #55 H jmp LOOP Př. : dynamický STOP mov A, #55 H jmp $