Serwis Edukacyjny
Nauczycieli

w I-LO w Tarnowie
obrazek

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Autor artykułu
 mgr Jerzy Wałaszek
Konsultacje:
Wojciech Grodowski
mgr inż. Janusz Wałaszek

©2026 mgr Jerzy Wałaszek

obrazek

Mikrokontrolery

ATtiny11/12

Zestaw instrukcji


obrazek

Educational and Non-Profit Use of Copyrighted Material:

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: (1) an academic report, thesis, or dissertation; (2) classroom handouts or textbook; or (3) a presentation or article that is solely educational in nature (e.g., technical article published in a magazine).

https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines

SPIS TREŚCI
Podrozdziały

Oznaczenia

Rejestr Stanu (ang. Status Register, SREG)

SREG: Rejestr Stanu
C: Znacznik przeniesienia (ang. Carry Flag).
Z: Znacznik zera (ang. Zero Flag).
N: Znacznik wyniku ujemnego (ang. Negative Flag).
V: Znacznik nadmiaru dla liczb w kodzie U2 (ang. Overflow Flag).
S: Znacznik znaku, równy N obrazek V przy porównaniach ze znakiem (ang. Sign Flag).
H: Znacznik przeniesienia połówkowego (ang. Half Carry Flag).
T: Bit przenoszony, używany przez instrukcje BLD (ang. Bit Load, odczyt bitu) i BST (ang. Bit Store, zapis bitu) (ang. Transfer Bit).
I: Znacznik globalnego włączenia/wyłączenia przerwań (ang. Global Interrupt Enable/Disable Flag).

Rejestry i argumenty

Rd: Rejestr docelowy (i źródłowy) w zestawie rejestrów.
Rr: Rejestr źródłowy w zestawie rejestrów
R: Wynik po wykonaniu instrukcji
K: Dane stałe
k: Adres stały
b: Bit w zestawie rejestrów lub w rejestrze I/O (pole 3-bitowe)
s: Bit w rejestrze stanu (pole 3-bitowe)
X,Y,Z Rejestr adresowania pośredniego (ang. Indirect Address Register)
(X=R27:R26, Y=R29:R28 i Z=R31:R30)
A: Adres komórki I/O
q: Przesunięcie dla adresowania bezpośredniego (pole 6-bitowe)

STACK (Stos)

Stos przechowuje adresy powrotne z podprogramów oraz zawartość umieszczonych na nim rejestrów.
SP: Wskaźnik stosu (ang. Stack Pointer)

Znaczniki (ang. Flags)

X : Znacznik zmieniony przez instrukcję
0 : Znacznik wyzerowany przez instrukcję
1 : Znacznik ustawiony przez instrukcję
: Znacznik niezmieniony przez instrukcję

do podrozdziału  do strony 

Lista rozkazów mikrokontrolera ATtiny11/12

Mnem. Arg. Opis Działanie Znaczniki Liczba
cykli
Instrukcje Arytmetyczne i Logiczne
ADD Rd, Rr Add without Carry
Dodawanie bez przeniesienia
Rd ← Rd + Rr Z,C,N,V,S,H 1
ADC Rd, Rr Add with Carry
Dodawanie z przeniesieniem
Rd ← Rd + Rr + C Z,C,N,V,S,H 1
SUB Rd, Rr Subtract without Carry
Odejmowanie bez przeniesienia
Rd ← Rd - Rr Z,C,N,V,S,H 1
SUBI Rd, K Subtract Immediate
Odejmowanie stałej
Rd ← Rd - K Z,C,N,V,S,H 1
SBC Rd, Rr Subtract with Carry
Odejmowanie z przeniesieniem
Rd ← Rd - Rr - C Z,C,N,V,S,H 1
SBCI Rd, K Subtract Immediate with Carry
Odejmowanie stałej z przeniesieniem
Rd ← Rd - K - C Z,C,N,V,S,H 1
AND Rd, Rr Logical AND
Logiczne I (koniunkcja)
Rd ← Rd obrazek Rr Z,N,V,S 1
ANDI Rd, K Logical AND with Immediate
Logiczne I ze stałą
Rd ← Rd obrazek K Z,N,V,S 1
OR Rd, Rr Logical OR
Logiczne LUB (alternatywa)
Rd ← Rd obrazek Rr Z,N,V,S 1
ORI Rd, K Logical OR with Immediate
Logiczne LUB ze stałą
Rd ← Rd obrazek K Z,N,V,S 1
EOR Rd, Rr Exclusive OR
Suma symetryczna
Rd ← Rd obrazek Rr Z,N,V,S 1
COM Rd One's Complement
Negacja bitowa U1
Rd ← 0xFF - Rd Z,C,N,V,S 1
NEG Rd Two's Complement
Negacja arytmetyczna U2
Rd ← 0x00 - Rd Z,C,N,V,S,H 1
SBR Rd, K Set Bit(s) in Register
Ustawienie bitów w rejestrze
Rd ← Rd v K Z,N,V,S 1
CBR Rd, K Clear Bit(s) in Register
Zerowanie bitów w rejestrze
Rd ← Rd obrazek (0xFFh - K) Z,N,V,S 1
INC Rd Increment
Zwiększanie o 1
Rd ← Rd + 1 Z,N,V,S 1
DEC Rd Decrement
Zmniejszanie o 1
Rd ← Rd - 1 Z,N,V,S 1
TST Rd Test for Zero or Minus
Test na zero lub liczbę ujemną
Rd ← Rd obrazek Rd Z,N,V,S 1
CLR Rd Clear Register
Zerowanie rejestru
Rd ← Rd obrazek Rd Z,N,V,S 1
SER Rd Set Register
Ustawienie rejestru
Rd ← 0xFF żaden 1
Instrukcje Rozgałęzień
RJMP k Relative Jump
Skok względny
PC ← PC + k + 1 żaden 2
RCALL k Relative Call Subroutine
Względne wywołanie podprogramu
PC ← PC + k + 1 żaden 3 / 4
RET   Subroutine Return
Powrót z podprogramu
PC ← STACK żaden 4 / 5
RETI   Interrupt Return
Powrót z przerwania
PC ← STACK I 4 / 5
CPSE Rd, Rr Compare, Skip if Equal
Porównanie z pominięciem następnej
instrukcji, jeśli argumenty równe
jeśli (Rd = Rr),
to PC ← PC + 2 lub 3
żaden 1 / 2 / 3
CP Rd, Rr Compare
Porównanie
Rd - Rr Z,C,N,V,S,H 1
CPC Rd, Rr Compare with Carry
Porównanie z przeniesieniem
Rd - Rr - C Z,C,N,V,S,H 1
CPI Rd, K Compare with Immediate
Porównanie ze stałą
Rd - K Z,C,N,V,S,H 1
SBRC Rr, b Skip if Bit in Register Cleared
Pominięcie następnej instrukcji,
jeśli bit w rejestrze w stanie 0
jeśli (Rr(b)=0),
to PC ← PC + 2 lub 3
żaden 1 / 2 / 3
SBRS Rr, b Skip if Bit in Register Set
Pominięcie następnej instrukcji,
jeśli bit w rejestrze w stanie 1
jeśli (Rr(b)=1),
to PC ← PC + 2 lub 3
żaden 1 / 2 / 3
SBIC A, b Skip if Bit in I/O Register Cleared
Pominięcie następnej instrukcji,
jeśli bit w rejestrze we/wy w stanie 0
jeśli (I/O(A,b)=0),
to PC ← PC + 2 lub 3
żaden 1 / 2 / 3
SBIS A, b Skip if Bit in I/O Register Set
Pominięcie następnej instrukcji,
jeśli bit w rejestrze we/wy w stanie 1
jeśli (I/O(A,b)=1),
to PC ← PC + 2 lub 3
żaden 1 / 2 / 3
BRBS s, k Branch if Status Flag Set
Skok warunkowy,
jeśli znacznik stanu ustawiony
jeśli (SREG(s) = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRBC s, k Branch if Status Flag Cleared
Skok warunkowy,
jeśli znacznik stanu wyzerowany
jeśli (SREG(s) = 0),
to  PC ← PC + k + 1
żaden 1 / 2
BREQ k Branch if Equal
Skok warunkowy,
jeśli równe
jeśli (Z = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRNE k Branch if Not Equal
Skok warunkowy,
jeśli różne
jeśli (Z = 0),
to PC ← PC + k + 1
żaden 1 / 2
BRCS k Branch if Carry Set
Skok warunkowy,
jeśli jest przeniesienie
jeśli (C = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRCC k Branch if Carry Cleared
Skok warunkowy,
jeśli nie ma przeniesienia
jeśli (C = 0),
to PC ← PC + k + 1
żaden 1 / 2
BRSH k Branch if Same or Higher
Skok względny,
jeśli takie same lub wyższe
jeśli (C = 0),
to PC ← PC + k + 1
żaden 1 / 2
BRLO k Branch if Lower
Skok warunkowy, jeśli niższe
jeśli (C = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRMI k Branch if Minus
Skok warunkowy przy minusie
jeśli (N = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRPL k Branch if Plus
Skok warunkowy przy plusie
jeśli (N = 0),
to PC ← PC + k + 1
żaden 1 / 2
BRGE k Branch if Greater or Equal, Signed
Skok warunkowy,
jeśli większe lub równe,
liczby ze znakiem
jeśli (N obrazek V= 0),
to PC ← PC + k + 1
żaden 1 / 2
BRLT k Branch if Less Than, Signed
Skok warunkowy, jeśli mniejsze,
liczby ze znakiem
jeśli (N obrazek V= 1),
to PC ← PC + k + 1
żaden 1 / 2
BRHS k Branch if Half Carry Flag Set
Skok warunkowy,
jeśli przeniesienie połówkowe ustawione
jeśli (H = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRHC k Branch if Half Carry Flag Cleared
Skok warunkowy,
jeśli przeniesienie połówkowe wyzerowane
jeśli (H = 0),
to PC ← PC + k + 1
żaden 1 / 2
BRTS k Branch if T Flag Set
Skok warunkowy,
jeśli znacznik T ustawiony
jeśli (T = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRTC k Branch if T Flag Cleared
Skok warunkowy,
jeśli znacznik T wyzerowany
jeśli (T = 0),
to PC ← PC + k + 1
żaden 1 / 2
BRVS k Branch if Overflow Flag is Set
Skok warunkowy,
jeśli znacznik nadmiaru V ustawiony
jeśli (V = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRVC k Branch if Overflow Flag is Cleared
Skok warunkowy,
jeśli znacznik nadmiaru V wyzerowany
jeśli (V = 0),
to PC ← PC + k + 1
żaden 1 / 2
BRIE k Branch if Interrupt Enabled
Skok warunkowy
przy uaktywnionych przerwaniach
jeśli (I = 1),
to PC ← PC + k + 1
żaden 1 / 2
BRID k Branch if Interrupt Disabled
Skok warunkowy
przy przerwaniach zablokowanych
jeśli ( I = 0),
to PC ← PC + k + 1
żaden 1/2
Instrukcje Przesyłu Danych
MOV Rd, Rr Copy Register
Kopiowanie rejestru
Rd ← Rr żaden 1
LDI Rd, K Load Immediate
Ładowanie stałej
Rd ← K żaden 1
LD Rd, Z Load Indirect
Ładowanie pośrednie
Rd ← (Z) żaden 2
ST Z, Rr Store Indirect
Zapis pośredni z indeksem Z
(Z) ← Rr żaden 2
IN Rd, A In From I/O Location
Odczyt z komórki we/wy
Rd ← I/O(A) żaden 1
OUT A, Rr Out To I/O Location
Zapis do komórki we/wy
I/O(A) ← Rr żaden 1
LPM   Load from Program Memory
Ładowanie z pamięci programu
R0 ← (Z) żaden 3
Instrukcje Operacji na Bitach oraz Testowania Bitów
LSL Rd Logical Shift Left
Logiczne przesunięcie w lewo
Rd(n+1)←Rd(n),
Rd(0) ← 0,
C←Rd(7),
n=0..6
Z,C,N,V,H 1
LSR Rd Logical Shift Right
Logiczne przesunięcie w prawo
Rd(n)←Rd(n+1),
Rd(7) ← 0,
C←Rd(0),
n=0..6
Z,C,N,V 1
ROL Rd Rotate Left Through Carry
Obrót w lewo poprzez przeniesienie
Rd(0)←C,
Rd(n+1) ← Rd(n),
C←Rd(7),
n=0..6
Z,C,N,V,H 1
ROR Rd Rotate Right Through Carry
Obrót w prawo poprzez przeniesienie
Rd(7)←C,
Rd(n)←Rd(n+1),
C ← Rd(0),
n=0..6
Z,C,N,V 1
ASR Rd Arithmetic Shift Right
Arytmetyczne przesunięcie w prawo
Rd(n) ← Rd(n+1),
n=0..6
Z,C,N,V 1
SWAP Rd Swap Nibbles
Wymiana 4 górnych bitów z 4 dolnymi
Rd(3..0) ↔ Rd(7..4) żaden 1
BSET s Flag Set
Ustawienie znacznika
w rejestrze stanu SREG
SREG(s) ← 1 SREG(s) 1
BCLR s Flag Clear
Zerowanie znacznika
w rejestrze stanu SREG
SREG(s) ← 0 SREG(s) 1
SBI A, b Set Bit in I/O Register
Ustawienie bitu w rejestrze we/wy
I/O(A, b) ← 1 żaden 2
CBI A, b Clear Bit in I/O Register
Zerowanie bitu w rejestrze we/wy
I/O(A, b) ← 0 żaden 2
BST Rr, b Bit Store from Register to T
Zapis bitu z rejestru w T
T ← Rr(b) T 1
BLD Rd, b Bit load from T to Register
Załadowanie bitu z T do rejestru
Rd(b) ← T żaden 1
SEC   Set Carry
Ustawienie przeniesienia
C ← 1 C 1
CLC   Clear Carry
Zerowanie przeniesienia
C ← 0 C 1
SEN   Set Negative Flag
Ustawienie znacznika wyniku ujemnego
N ← 1 N 1
CLN   Clear Negative Flag
Zerowanie znacznika wyniku ujemnego
N ← 0 N 1
SEZ   Set Zero Flag
Ustawienie znacznika zera
Z ← 1 Z 1
CLZ   Clear Zero Flag
Zerowanie znacznika zera
Z ← 0 Z 1
SEI   Global Interrupt Enable
Globalne włączenie przerwań
I ← 1 I 1
CLI   Global Interrupt Disable
Globalne wyłączenie przerwań
I ← 0 I 1
SES   Set Signed Test Flag
Ustawienie znacznika znaku wyniku
S ← 1 S 1
CLS   Clear Signed Test Flag
Zerowanie znacznika znaku wyniku
S ← 0 S 1
SEV   Set Two’s Complement Overflow
Ustawienie znacznika nadmiaru U2
V ← 1 V 1
CLV   Clear Two’s Complement Overflow
Zerowanie znacznika nadmiaru U2
V ← 0 V 1
SET   Set T in SREG
Ustawienie bitu T w rejestrze SREG
T ← 1 T 1
CLT   Clear T in SREG
Zerowanie bitu T w rejestrze SREG
T ← 0 T 1
SEH   Set Half Carry Flag in SREG
Ustawienie znacznika przeniesienia
połówkowego w rejestrze stanu
H ← 1 H 1
CLH   Clear Half Carry Flag in SREG
Zerowanie znacznika przeniesienia
połówkowego w rejestrze stanu
H ← 0 H 1
Instrukcje Sterujące Mikrokontrolerem
NOP   No Operation
Operacja pusta
  żaden 1
SLEEP   Sleep
Wejście w tryb uśpienia
(zobacz na opis Sleep)
  żaden 1
WDR   Watchdog Reset
Reset licznika zegarowego
(zobacz na opis WDR)
  żaden 1

do podrozdziału  do strony 

Nota Copyright

Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND CONDITIONS OF SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel’s products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.

© 2011 Atmel Corporation. All rights reserved.

Atmel®, logo and combinations thereof, and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.


do podrozdziału  do strony 

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: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.