|
Wyjście Spis treści Wstecz Dalej
Autor artykułu |
©2026 mgr Jerzy Wałaszek
|

If you use Microchip copyrighted material solely for educational (non-profit) purposes falling under the “fair use” exception of the U.S. Copyright Act of 1976 then you do not need Microchip’s written permission. For example, Microchip’s
permission is not required when using copyrighted material in:
https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines
Działanie |
||||
| SREG(s) ← 0 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BCLR s | 0 ≤ s ≤7 | PC ← PC + 1 | ||
1001 |
0100 |
1sss |
1000 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| X | X | X | X | X | X | X | X |
| I: | 0, jeśli s = 7; w przeciwnym wypadku bez zmian |
| T: | 0, jeśli s = 6; w przeciwnym wypadku bez zmian |
| H: | 0, jeśli s = 5; w przeciwnym wypadku bez zmian |
| S: | 0, jeśli s = 4; w przeciwnym wypadku bez zmian |
| V: | 0, jeśli s = 3; w przeciwnym wypadku bez zmian |
| N: | 0, jeśli s = 2; w przeciwnym wypadku bez zmian |
| Z: | 0, jeśli s = 1; w przeciwnym wypadku bez zmian |
| C: | 0, jeśli s = 0; w przeciwnym wypadku bez zmian |
bclr 0 ; Zeruj znacznik przeniesienia bclr 7 ; Wyłącz przerwania |
Działanie |
||||
| Rd(b) ← T | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BLD Rd,b | 0 ≤ d ≤ 31, 0 ≤ b ≤7 | PC ← PC + 1 | ||
1111 |
100d |
dddd |
0bbb |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
; Kopiuj bit bst r1,2 ; Umieść bit 2 z r1 w znaczniku T bld r0,4 ; Załaduj znacznik T do bitu 4 w r0 |
Działanie |
||||
| Jeśli SREG(s) = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRBC s,k | 0 ≤ s ≤ 7, -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
ksss |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
cpi r20,5 ; Porównaj r20 z wartością 5
brbc 1,noteq ; Skocz, jeśli znacznik zera wyzerowany
...
noteq: nop ; Adres docelowy skoku (nic nie rób)
|
Działanie |
||||
| Jeśli SREG(s) = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRBS s,k | 0 ≤ s ≤ 7, -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
ksss |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
bst r0,3 ; Załaduj bit T bitem 3 z r0
brbs 6,bitset ; Skocz, jeśli bit T był ustawiony
...
bitset: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli C = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRCC k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k000 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
add r22,r23 ; Dodaj r23 do r22
brcc nocarry ; Skocz przy braku przeniesienia
...
nocarry: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli C = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRCS k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k000 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
cpi r26,0x56 ; Porównaj r26 ze stałą 0x56
brcs carry ; Skocz przy przeniesieniu
...
carry: nop ; Miejsce docelowe skoku (nic nie rób)
|
Jeśli jest ustawiony jakikolwiek bit blokujący lub nie został zaprogramowany bit bezpiecznikowy JTAGEN ani OCDEN, to mikroprocesor będzie traktował instrukcję BREAK jak instrukcję NOP i nie wejdzie w tryb zatrzymania.
Instrukcja ta nie jest dostępna na wszystkich mikrokontrolerach AVR. Sprawdź w danych technicznych konkretnego mikrokontrolera.
Działanie |
||||
| Przerwa dla zintegrowanego systemu uruchomieniowego | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BREAK | brak | PC ← PC + 1 | ||
1001 |
0101 |
1001 |
1000 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
Działanie |
||||
| Jeśli Z = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BREQ k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k001 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
cp r1,r0 ; Porównaj rejestry r1 i r0
breq equal ; Skocz, jeśli rejestry są równe
...
equal: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli S = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRGE k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k100 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
cp r11,r12 ; Porównaj rejestry r11 i r12
brge greateq ; Skocz, jeśli r11 ≥ r12 (ze znakiem)
...
greateq: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli H = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRHC k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k101 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
brhc hclear ; Skocz, jeśli przeniesienie połówkowe wyzerowane
...
hclear: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli H = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRHS k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k101 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
brhs hset ; Skocz, jeśli przeniesienie połówkowe ustawione
...
hset: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli I = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRID k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k111 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
brid intdis ; Skocz, jeśli przerwania są wyłączone
...
intdis: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli I = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRIE k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k111 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
brie inten ; Skocz, jeśli przerwania są włączone
...
inten: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli C = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRLO k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k000 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
eor r19,r19 ; Zeruj r19
loop: inc r19 ; Zwiększ r19
...
cpi r19,0x10 ; Porównaj r19 z 0x10
brlo loop ; Skocz, jeśli r19 < 0x10 (bez znaku)
nop ; Wyjdź z pętli (nic nie rób)
|
Działanie |
||||
| Jeśli S = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRLT k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k100 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
cp r16,r1 ; Porównaj r16 z r1
brlt less ; Skocz, jeśli r16 < r1 (ze znakiem)
...
less: nop ; Miejsce docelowe skoku (nic nie rób)
|
Działanie |
||||
| Jeśli N = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRMI k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k010 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
subi r18,4 ; Odejmij 4 od r18
brmi negative ; Skocz, jeśli wynik ujemny
...
negative: nop ; Miejsce docelowe skoku (nic nie rób)
|
Warunkowy skok względny. Testuje znacznik zera Z w SREG i skacze względem licznika rozkazów PC, jeśli Z jest wyzerowane. Jeśli ta instrukcja zostanie wykonana bezpośrednio po jednej z instrukcji CP, CPI, SUB lub SUBI, to skok będzie wykonany wtedy i tylko wtedy gdy liczba binarna ze znakiem lub bez znaku w rejestrze Rd była różna od liczby binarnej ze znakiem lub bez znaku w rejestrze Rr. Instrukcja skacze względem PC w obu kierunkach (PC - 63 ≤ adres docelowy ≤ PC + 64). Parametr k jest przesunięciem od PC i jest liczbą ze znakiem w kodzie U2. (Ekwiwalent instrukcji BRBC 1,k).
Działanie |
||||
| Jeśli Z = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRNE k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k001 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
eor r27,r27 ; Zeruj r27
loop: inc r27 ; Zwiększaj r27 o 1
...
cpi r27,5 ; Porównaj r27 z 5
brne loop ; Skocz, jeśli r27 <> 5
nop ; Wyjście z pętli (nic nie rób)
|
Warunkowy skok względny. Testuje znacznik liczby ujemnej N w SREG i skacze względem licznika rozkazów PC, jeśli N jest wyzerowane. Instrukcja skacze względem PC w obu kierunkach (PC - 63 ≤ adres docelowy ≤ PC + 64). Parametr k jest przesunięciem od PC i jest liczbą ze znakiem w kodzie U2. (Ekwiwalent instrukcji BRBC 2,k).
Działanie |
||||
| Jeśli N = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRPL k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k010 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
subi r26,0x50 ; Odejmij 0x50 od r26
brpl positive ; skocz, jeśli r26 jest dodatni
...
positive: nop ; Miejsce docelowe skoku (nic nie rób)
|
Warunkowy skok względny. Testuje znacznik przeniesienia C w SREG i skacze względem licznika rozkazów PC, jeśli C jest wyzerowane. Jeśli ta instrukcja zostanie wykonana bezpośrednio po jednej z instrukcji CP, CPI, SUB lub SUBI, to skok będzie wykonany wtedy i tylko wtedy gdy liczba binarna bez znaku w rejestrze Rd była większa lub równa liczbie binarnej bez znaku w rejestrze Rr. Instrukcja skacze względem PC w obu kierunkach (PC - 63 ≤ adres docelowy ≤ PC + 64). Parametr k jest przesunięciem od PC i jest liczbą ze znakiem w kodzie U2. (Ekwiwalent instrukcji BRBC 0,k).
Działanie |
||||
| Jeśli C = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRSH k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k000 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
subi r19,4 ; Odejmij 4 od r19
brsh highsm ; Skocz, jeśli r19 >= 4 (bez znaku)
...
highsm: nop ; Miejsce docelowe skoku (nic nie rób)
|
Warunkowy skok względny. Testuje znacznik T w SREG i skacze względem licznika rozkazów PC, jeśli T jest wyzerowane. Instrukcja skacze względem PC w obu kierunkach (PC - 63 ≤ adres docelowy ≤ PC + 64). Parametr k jest przesunięciem od PC i jest liczbą ze znakiem w kodzie U2. (Ekwiwalent instrukcji BRBC 6,k).
Działanie |
||||
| Jeśli T = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRTC k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k110 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
bst r3,5 ; Zapisz bit 5 z r3 w znaczniku T
brtc tclear ; Skocz, jeśli bit ten był wyzerowany
...
tclear: nop ; Miejsce docelowe skoku (nic nie rób)
|
Warunkowy skok względny. Testuje znacznik T w SREG i skacze względem licznika rozkazów PC, jeśli T jest ustawione. Instrukcja skacze względem PC w obu kierunkach (PC - 63 ≤ adres docelowy ≤ PC + 64). Parametr k jest przesunięciem od PC i jest liczbą ze znakiem w kodzie U2. (Ekwiwalent instrukcji BRBS 6,k).
Działanie |
||||
| Jeśli T = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRTS k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k110 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
bst r3,5 ; Zapisz bit 5 z r3 w znaczniku T
brts tclear ; Skocz, jeśli bit ten był ustawiony
...
tset: nop ; Miejsce docelowe skoku (nic nie rób)
|
Warunkowy skok względny. Testuje znacznik nadmiaru V w SREG i skacze względem licznika rozkazów PC, jeśli V jest wyzerowane. Instrukcja skacze względem PC w obu kierunkach (PC - 63 ≤ adres docelowy ≤ PC + 64). Parametr k jest przesunięciem od PC i jest liczbą ze znakiem w kodzie U2. (Ekwiwalent instrukcji BRBC 3,k).
Działanie |
||||
| Jeśli V = 0, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRVC k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
01kk |
kkkk |
k011 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
add r3,r4 ; Dodaj r4 do r3
brvc noover ; Skocz przy braku nadmiaru
...
noover: nop ; Miejsce docelowe skoku (nic nie rób)
|
Warunkowy skok względny. Testuje znacznik nadmiaru V w SREG i skacze względem licznika rozkazów PC, jeśli V jest ustawione. Instrukcja skacze względem PC w obu kierunkach (PC - 63 ≤ adres docelowy ≤ PC + 64). Parametr k jest przesunięciem od PC i jest liczbą ze znakiem w kodzie U2. (Ekwiwalent instrukcji BRBS 3,k).
Działanie |
||||
| Jeśli V = 1, to PC ← PC + k + 1, inaczej PC ← PC + 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BRVC k | -64 ≤ k ≤ +63 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
00kk |
kkkk |
k011 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | – | – | – | – | – | – | – |
add r3,r4 ; Dodaj r4 do r3
brvs overfl ; Skocz przy nadmiarze
...
overfl: nop ; Miejsce docelowe skoku (nic nie rób)
|
Ustawia pojedynczy znacznik w SREG.
Działanie |
||||
| SREG(s) ← 1 | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BSET s | 0 ≤ s ≤7 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1001 |
0100 |
0sss |
1000 |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| X | X | X | X | X | X | X | X |
| I: | 1, jeśli s = 7; w przeciwnym wypadku bez zmian |
| T: | 1, jeśli s = 6; w przeciwnym wypadku bez zmian |
| H: | 1, jeśli s = 5; w przeciwnym wypadku bez zmian |
| S: | 1, jeśli s = 4; w przeciwnym wypadku bez zmian |
| V: | 1, jeśli s = 3; w przeciwnym wypadku bez zmian |
| N: | 1, jeśli s = 2; w przeciwnym wypadku bez zmian |
| Z: | 1, jeśli s = 1; w przeciwnym wypadku bez zmian |
| C: | 1, jeśli s = 0; w przeciwnym wypadku bez zmian |
bset 6 ; Ustaw znacznik T bset 7 ; Włącz przerwania |
Umieszcza bit b z rejestru Rd w znaczniku T rejestru stanu SREG.
Działanie |
||||
| T ← Rd(b) | ||||
Składnia |
Argumenty |
Licznik rozkazów |
||
| BST Rd,b | 0 ≤ d ≤ 31, 0 ≤ b ≤7 | PC ← PC + k + 1, jeśli warunek
prawdziwy PC ← PC + 1, jeśli warunek fałszywy |
||
1111 |
101d |
dddd |
0bbb |
| I | T | H | S | V | N | Z | C |
|---|---|---|---|---|---|---|---|
| – | X | – | – | – | – | – | – |
| T: | 0, jeśli bit b w Rd jest wyzerowany; w przeciwnym wypadku ustawiany na 1. |
; Kopiuj bit bst r1,2 ; Zapisz bit 2 z r1 w znaczniku T bld r0,4 ; Załaduj znacznik T do bitu 4 w r0 |
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.