Serwis Edukacyjny w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy
Wałaszek |
©2023 mgr Jerzy Wałaszek
|
https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines
SPIS TREŚCI |
Podrozdziały |
Działanie |
||||
Rd ← Rd + Rr + C | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
ADC Rd,Rr | 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 | PC ← PC + 1 |
0001 |
11rd |
dddd |
rrrr |
I | T | H | S | V | N | Z | C |
---|---|---|---|---|---|---|---|
– | – | X | X | X | X | X | X |
H: | Rd3•Rr3+Rr3•R3+R3•Rd3 Ustawiany, jeśli było przeniesienie z bitu 3; w przeciwnym razie zerowany |
S: | N
![]() Dla testów liczb ze znakiem w kodzie U2 |
V: | Rd7•Rr7•R7+Rd7•Rr7•R7 Ustawiane, jeśli operacja doprowadza do przepełnienia U2; w przeciwnym razie zerowany |
N: | R7 Ustawiany, jeśli najstarszy bit wyniku jest ustawiony; w przeciwnym razie zerowany |
Z: |
R7•R6•R5•R4•R3•R2•R1•R0 Ustawiany, jeśli wynik wynosi 0x00; w przeciwnym razie zerowany |
C: | Rd7•Rr7+Rr7•R7+R7•Rd7 Ustawiany, jeśli wystąpiło przeniesienie poza najstarszy bit wyniku; w przeciwnym razie zerowany |
Wynik R (ang. Result) po operacji jest równy Rd.
; Dodaj R1:R0 do R3:R2 add r2,r0 ; Dodaj młodsze bajty adc r3,r1 ; Dodaj z przeniesieniem starsze bajty |
Działanie |
||||
Rd ← Rd + Rr | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
ADD Rd,Rr | 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 | PC ← PC + 1 |
0000 |
11rd |
dddd |
rrrr |
I | T | H | S | V | N | Z | C |
---|---|---|---|---|---|---|---|
– | – | X | X | X | X | X | X |
H: | Rd3•Rr3+Rr3•R3+R3•Rd3 Ustawiany, jeśli było przeniesienie z bitu 3; w przeciwnym razie zerowany |
S: | N
![]() Dla testów liczb ze znakiem w kodzie U2 |
V: | Rd7•Rr7•R7+Rd7•Rr7•R7 Ustawiane, jeśli operacja doprowadza do przepełnienia U2; w przeciwnym razie zerowany |
N: | R7 Ustawiany, jeśli najstarszy bit wyniku jest ustawiony; w przeciwnym razie zerowany |
Z: |
R7•R6•R5•R4•R3•R2•R1•R0 Ustawiany, jeśli wynik wynosi 0x00; w przeciwnym razie zerowany |
C: | Rd7•Rr7+Rr7•R7+R7•Rd7 Ustawiany, jeśli wystąpiło przeniesienie poza najstarszy bit wyniku; w przeciwnym razie zerowany |
Wynik R (ang. Result) po operacji jest równy Rd.
; Dodaj R1:R0 do R3:R2 add r2,r0 ; Dodaj młodsze bajty adc r3,r1 ; Dodaj z przeniesieniem starsze bajty |
Instrukcja ADIW nie jest dostępna na wszystkich mikrokontrolerach AVR. Sprawdź to w liście rozkazów określonego modelu.
Działanie |
||||
Rd+1:Rd ← Rd+1:Rd + K | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
Rd+1:Rd ← Rd+1:Rd + K | d
![]() |
PC ← PC + 1 |
1001 |
0110 |
KKdd |
KKKK |
I | T | H | S | V | N | Z | C |
---|---|---|---|---|---|---|---|
– | – | – | X | X | X | X | X |
S: | N
![]() Dla testów liczb ze znakiem w kodzie U2 |
V: |
Rdh7•R15 Ustawiany, jeśli w wyniku operacji wystąpił nadmiar U2; inaczej zerowany. |
N: | R15 Ustawiany, jeśli najstarszy bit wyniku jest ustawiony; w przeciwnym razie zerowany |
Z: |
R15•R14•R13•R12•R11•R10•R9•R8•R7•R6•R5•R4•R3•R2•R1•R0 Ustawiany, jeśli wynik wynosi 0x0000; w przeciwnym razie zerowany |
C: |
R15•Rdh7 Ustawiany, jeśli wystąpiło przeniesienie poza najstarszy bit wyniku; w przeciwnym razie zerowany |
Wynik R jest równy Rdh:Rdl po operacji (Rdh7-Rdh0 = R15-R8, Rdl7-Rdl0=R7-R0).
adiw r25:24,1 ; Dodaj 1 do r25:r24 adiw ZH:ZL,63 ; Dodaj 63 do wskaźnika Z(r31:r30) |
Działanie |
||||
Rd ← Rd•Rr | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
AND Rd,Rr | 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 | PC ← PC + 1 |
0010 |
00rd |
dddd |
rrrr |
I | T | H | S | V | N | Z | C |
---|---|---|---|---|---|---|---|
– | – | – | X | 0 | X | X | – |
S: | N
![]() Dla testów liczb ze znakiem w kodzie U2 |
V: |
0 Zerowany |
N: | R7 Ustawiany, jeśli najstarszy bit wyniku jest ustawiony; w przeciwnym razie zerowany |
Z: |
R7•R6•R5•R4•R3•R2•R1•R0 Ustawiany, jeśli wynik wynosi 0x00; w przeciwnym razie zerowany |
Wynik R (ang. Result) po operacji jest równy Rd.
and r2,r3 ; Bitowa koniunkcja pomiędzy r2 i r3, wynik w r2 ldi r16,1 ; Ustaw maskę bitową 0000 0001 w r16 and r2,r16 ; Wyizoluj bit 0 w r2 |
Działanie |
||||
Rd ← Rd•K | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
ANDI Rd,K | 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 | PC ← PC + 1 |
0111 |
KKKK |
dddd |
KKKK |
I | T | H | S | V | N | Z | C |
---|---|---|---|---|---|---|---|
– | – | – | X | X | X | X | X |
S: | N
![]() Dla testów liczb ze znakiem w kodzie U2 |
V: |
0 Zerowany |
N: | R7 Ustawiany, jeśli najstarszy bit wyniku jest ustawiony; w przeciwnym razie zerowany |
Z: |
R7•R6•R5•R4•R3•R2•R1•R0 Ustawiany, jeśli wynik wynosi 0x00; w przeciwnym razie zerowany |
Wynik R (ang. Result) po operacji jest równy Rd.
andi r17,0x0F ; wyzeruj górne 4 bity rejestru r17 andi r18,0x10 ; Izoluj bit 4 w r18 andi r19,0xAA ; Wyzeruj nieparzyste bity w r19 |
Działanie |
||||
![]() |
||||
Składnia |
Argumenty |
Licznik rozkazów |
||
ASR Rd | 0 ≤ d ≤ 31 | PC ← PC + 1 |
1001 |
010d |
dddd |
0101 |
I | T | H | S | V | N | Z | C |
---|---|---|---|---|---|---|---|
– | – | – | X | X | X | X | X |
S: | N
![]() Dla testów liczb ze znakiem w kodzie U2 |
V: |
N
![]() |
N: | R7 Ustawiany, jeśli najstarszy bit wyniku jest ustawiony; w przeciwnym razie zerowany |
Z: |
R7•R6•R5•R4•R3•R2•R1•R0 Ustawiany, jeśli wynik wynosi 0x00; w przeciwnym razie zerowany |
C: |
Rd0 Ustawiany, jeśli przed przesunięciem najmłodszy bit Rd miał stan 1; w przeciwnym razie zerowany |
Wynik R (ang. Result) po operacji jest równy Rd.
ldi r16,0x10 ; Załaduj dziesiętnie 16 do r16 asr r16 ; r16=r16 / 2 ldi r17,0xFC ; Załaduj -4 do r17 asr r17 ; r17=r17/2 |
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2023 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.