270 likes | 356 Views
Aritmetické inštrukcie. ADD A,Rr A A + Rr Do akumulátora sa uloží aritmetický súčet akumulátora a registra Rr. Pr íklad: A=50 R2=100 C=0 ADD A,R2 A= 150 R2=100 C= 0 < 0 , 255 > C 0 < 256 a viac > C 1. Aritmetické inštrukcie. ADD A,data addr
E N D
Aritmetické inštrukcie ADD A,Rr AA+Rr Do akumulátora sa uloží aritmetický súčet akumulátora a registra Rr. Príklad: A=50 R2=100 C=0 ADD A,R2 A=150 R2=100 C=0 < 0 , 255 > C 0 < 256 a viac> C 1
Aritmetické inštrukcie ADD A,data addr AA+číslo vo v.p.d. Príklad: ADD A,30 Do akumulátora sa uloží aritmetický súčet obsahu akumulátora a hodnoty z v.p.d. z adresy 30.
Aritmetické inštrukcie ADD A,@Ri AA+číslo vo v.p.d. Príklad: ADD A,@R1 Do akumulátora sa uloží aritmetický súčet obsahu akumulátora a hodnoty z v.p.d. z takej adresy akú hodnotu má register R1.
Aritmetické inštrukcie ADD A,#data AA+čislo Príklad: A=200 C=0 258 ADD A,#58 258>255 -256 A=2 C=12 Do akumulátora sa uloží aritmetický súčet obsahu akumulátora a čísla. Ak je ich súčet väčší ako 255 carry bit sa nastaví na 1 ako príznak pretečenia a do akumulátora sa uloží iba hodnota o ktorú je výsledok väčší ako 1B. < 0 , 255 > C 0 < 256 a viac> C 1
Aritmetické inštrukcie ADDC A,Rr AA+Rr+C Príklad: ADDC A,R3 Do akumulátora sa uloží aritmetický súčet obsahu akumulátora, hodnoty z registra R3 a hodnoty carry bitu. Carry bit sa tiež nastaví na 1 ak dôjde k pretečeniu.
Aritmetické inštrukcie ADDC A,data addr AA+číslo vo v.p.d.+C Príklad: ADDC A,30 Do akumulátora sa uloží aritmetický súčet obsahu akumulátora, hodnoty z v.p.d. z adresy 30 a hodnoty carry bitu. Carry bit sa tiež nastaví na 1 ak dôjde k pretečeniu.
Aritmetické inštrukcie ADDC A,@Ri AA+číslo z v.p.d.+C Príklad: ADDC A,@R1 Do akumulátora sa uloží aritmetický súčet obsahu akumulátora, hodnoty z v.p.d. z adresy, ktorá je uložená v registri R1 a hodnoty carry bitu. Carry bit sa tiež nastaví na 1 ak dôjde k pretečeniu.
Aritmetické inštrukcie ADDC A,#data AA+číslo+C Do akumulátora sa uloží aritmetický súčet akumulátora, čísla zadaného priamo a carry bitu. Príklad: A=150 C=1 ADDC A,#50 A=201 C=0 alebo A=230 C=1 436 ADDC A,#205 -256 A=180 C=1180
Aritmetické inštrukcie SUBB A,Rr AA-Rr-C Príklad: A=200 R1=50 C=1 SUBB A,R1 A=149 R1=50 C=0 Do akumulátora sa zapíše hodnota akumulátora od ktorej sa odpočíta hodnota registra R1 a carry bitu. Ak by bol výsledok záporný do carry bitu sa zapíše 1 inak 0 a do akumulátora sa uloží hodnota 256-(výsledok).
Aritmetické inštrukcie SUBB A,data addr AA-číslo vo v.p.d.-C Príklad: SUBB A,30 Do akumulátora sa zapíše hodnota akumulátora od ktorej sa odpočíta hodnota z v.p.d. z adresy 30 a hodnota carry bitu. Ak by bol výsledok záporný do carry bitu sa zapíše 1 inak 0 a do akumulátora sa uloží hodnota 256-(výsledok).
Aritmetické inštrukcie SUBB A,@Ri AA-číslo vo v.p.d.-C Príklad: SUBB A,@R0 Do akumulátora sa zapíše hodnota akumulátora od ktorej sa odpočíta hodnota z v.p.d. z adresy zapísanej v registri R0 a hodnota carry bitu. Ak by bol výsledok záporný do carry bitu sa zapíše 1 inak 0 a do akumulátora sa uloží hodnota 256-(výsledok)
Aritmetické inštrukcie SUBB A,#data AA-číslo-C Príklad: A=50 C=0 50-60-0=-10 SUBB A,#60 256-10=246 A=246 C=1 Do akumulátora sa zapíše hodnota z akumulátora od ktorej sa odpočíta číslo a carry bit. Ak by bol výsledok záporný do carry bitu sa zapíše 1 inak 0 a do akumulátora sa uloží hodnota 256-(výsledok).
Aritmetické inštrukcie INC A AA+1 Príklad: A = 68 INC A A = 69 Hodnota v akumulátore sa zvýšio 1.
Aritmetické inštrukcie INC Rr ARr+1 Príklad: R5 = 26 INC R5 R5 = 27 Hodnota vregistri R5 sa zvýšio 1.
Aritmetické inštrukcie INC data addr číslo vo v.p.d. číslo vo v.p.d.+1 Príklad: INC 50 Vo v.p.d. na adrese 50 sa zvýši hodnota čísla o 1.
Aritmetické inštrukcie INC @Ri číslo vo v.p.d.číslo vo v.p.d.+1 Príklad: INC @R1 Vo v.p.d. na adrese, ktorá je určená hodnotou v registri R1 sa zvýši hodnota čísla o 1.
Aritmetické inštrukcie INC DPTR DPTRDPTR+1 Príklad: INC DPTR Hodnota v registri DPTR sa zvýši o 1.
Aritmetické inštrukcie DEC A AA-1 Príklad: A = 68 DEC A A = 67 Hodnota v akumulátore sa znížio 1.
Aritmetické inštrukcie DEC Rr RrRr-1 Príklad: R5 = 26 DEC R5 R5 = 25 Hodnota vregistri R5 sa znížio 1.
Aritmetické inštrukcie DEC data addr číslo vo v.p.d.číslo vo v.p.d.-1 Príklad: DEC 50 Vo v.p.d. na adrese 50 sa zníži hodnota čísla o 1.
Aritmetické inštrukcie DEC @Ri číslo vo v.p.d.číslo vo v.p.d.-1 Príklad: DEC @R1 Vo v.p.d. na adrese, ktorá je určená hodnotou v registri R1 sa zníži hodnota čísla o 1.
Aritmetické inštrukcie MUL AB A,BA*B A (A*B) 0÷7 bit B (A*B) 8÷15 bit C = 0 vždy Ak B = 0 OV = 0 B ≠ 0 OV = 1 Vykoná sa aritmetický súčin registrov A a B. Bity 0 až 7 sa zapíšu do akumulátora a bity 8 až 15 sa zapíšu do registra B. Ak sa register B rovná 0 tak sa bit OV(over flow) nastaví na 0 inak je 1. Carry bit je vždy 0.
Aritmetické inštrukcie MUL AB Príklad: A = 99H B = 50H 99H MUL AB *50H A = D0H B = 2FH 2FD0H C = 0 OV = 1 B A
Aritmetické inštrukcie DIV AB A,BA/B A (A/B) podiel B (A/B) zvyšok C = 0 vždy Ak B = 0 OV = 1 B ≠ 0 OV = 0 Vykoná sa celočíselný podiel registrov A a B. Ich podiel sa uloží do akumulátora a zvyšok sa uloží do registra B. Ak sa register B pred delením rovná 0 tak sa bit OV(over flow) nastaví na 1 inak je 0. Carry bit je vždy 0.
Aritmetické inštrukcie DIV AB Príklad: A = 100 B = 30 100 DIV AB /30 A = 3 B = 103 zv. 10 C = 0 OV = 0
Aritmetické inštrukcie DA A Desiatková korekcia Táto inštrukcia sa používa po inštrukcií ADD (ADDC) ktorou sa sčítajú dve čísla v kóde BCD. Príklad: A = 56H R1 = 36H ADD A,R1 36 A = 8CH R1 = 36H 56 v kóde BCD DA A 92 A = 92H R1 = 36H
Aritmetické inštrukcie NOP Prázdna inštrukcia – bez činnosti Táto inštrukcia sa používa na vytváranie časových intervalov. Jej vykonanie trvá 1 strojový cyklus.