5 Instrukcje arytmetyczne 45
ADD
A,#12H
A.R7
ADDC A.D MOV R0J80H MOV SRO.A
;Ac= 12H
;A<= A ♦ R7 = 7AH
;znaczniki: C*0, AC»0, OV*0, P»l
;Ac= A + C+ B = 83H. rejestr B o adresie OFOH w SFR
;RO er 80H. adres wewnętrznej pamięci RAM
;(R0)<= A przesianie wyniku do pamięci
Po wykonaniu programu suma podanych argumentów wynosi 9 + 104 + 18 = 131, a stan akumulatora A a 83H:
• jeśli argumenty traktować jako liczby całkowite bez znaku to suma obliczona w akumulatorze jest prawidłowa, mieści się w zakresie 0..255, zerowa wartość znacznika przeniesienia (Q,
• jeśli argumenty traktować jako liczby całkowite ze znakiem to obliczona suma nic jest prawidłowa, ponieważ nie mieści się w zakresie -128..+127, ustawiony znacznik nadmiaru (OV), a wartości podanych argumentów są liczbami dodatnimi.
ADDC A,argument
Add 8-bit Data with Cany
Działanie:
A c= A + C
Rn
(adr)
(Ri)
#dana
Adresowanie: Mnemonik Struktura bajtów: Cykle
' masttfnaac
rejestrowe: ADDC |
A,Rn |
1° |
rt |
1 |
Tfr |
r |
r |
_d |
1 |
bezpośrednie: ADDC |
A,adr |
0 |
0 |
1 |
1 | 0 |
1 |
0 |
1 | |
1 |
L_ |
adr |
_l | |||||||
pośrednie: ADDC |
A,®Ri |
\JL |
0 |
1 |
1 0 |
1 |
1 |
i | |
1 |
natychmiastowe: ADDC |
A,#dana |
L°- |
0 |
1 |
_il°_ |
1 |
0 |
o I |
1 |
dana
Znaczniki: C. AC. OV, P
Mikrokontroler 80(C)5l - proklamowanie
ANL argumenł_l,argument_2
Logical And for Byle
Rn
Działanie: A |
c= A and |
(adr) (Ri) |
#dana | ||
Adresowanie: |
Mnemonik | |
rejestrowe: |
ANL |
A,Rn |
bezpośrednie: |
ANL |
A,adr |
pośrednie: |
ANL |
A,@Rl |
natychmiastowe: |
ANL |
A,#dana |
(adr) c= (adr) and
Struktura bajtów: Cykle
maszynowe:
I 0 1 0 1 1 1 r r r~] 1
Znacz
niki:
bezpośrednie: ANL adr,A
natychmiastowe: ANL adr,#dana
I’
I*
I*
I*
Opis dziabnta:
Iloczyn logiczny zawartości:
• akumulatora (A) z zawartością:
-» rejestru Rn, Rn « R0..R7,
-* komórki wewnętrznej pamięci RAM adresowanej bezpośrednio adresem aJr ► komórki wewnętrznej pamięci KAM adresowanej pośrednio adresem zawartym w rejestrze Ri, Ri = RU lub Rl.
-» 8-bitowej danej.
Mikrokontroler 80(C)5I - procramowame