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 |
CALL – Long Call to a Subroutine – Długie wywołanie podprogramu |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OpisWywołuje podprogram umieszczony w obszarze całej pamięci
programu. Adres powrotny (do instrukcji za
rozkazem CALL) zostanie umieszczony na stosie.
(Zobacz również na
RCALL). Wskaźnik stosu wykorzystuje schemat
postdekrementacji (zmniejszania po wykonaniu)
podczas wykonywania rozkazu CALL.
32-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:mov r16,r0 ; Kopiuj r0 do r16 call check ; Wywołaj podprogram nop ; Kontynuuj (nic nie rób) ... check: cpi r16,$42 ; Sprawdź, czy r16 ma specjalną wartość breq error ; Skocz, jeśli równe ret ; Wróć z podprogramu ... error: rjmp error ; Pętla nieskończona Liczba słów: 2 (4 bajty)Cykle: 4 dla urządzeń z 16-bitowym PC; 5 dla urządzeń z 22-bitowym PC |
CBI – Clear Bit in I/O Register – Zerowanie bitu w rejestrze we/wy |
||||||||||||||||||||||||||||||||||||||||
OpisZeruje określony bit w rejestrze we/wy. Instrukcja ta działa na niższych 32 rejestrach we/wy – adresy 0-31.
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:cbi $12,7 ; Zeruj bit 7 w Porcie D
Liczba słów: 1 (2 bajty)Cykle: 2 |
CBR – Clear Bits in Register – Zerowanie bitu w rejestrze |
||||||||||||||||||||||||||||||||||||||||||||||||
OpisZeruje określone bity w rejestrze Rd. Wykonuje operację bitowego iloczynu logicznego zawartości rejestru Rd i zaprzeczenia stałej maski K. Wynik jest umieszczany w rejestrze Rd.
16-bitowy kod instrukcji
Jest to rozkaz ANDI z zanegowaną wartością argumentu K Zmiany znaczników w rejestrze stanu (SREG)
Wynik R (ang. Result) po operacji jest równy Rd. Przykładowy kod:cbr r16,$F0 ; Wyzeruj górne 4 bity rejestru r16 cbr r18,1 ; Zeruj bit 0 w r18 Liczba słów: 1 (2 bajty)Cykle: 1 |
CLC – Clear Carry Flag – Zerowanie znacznika przeniesienia |
||||||||||||||||||||||||||||||||||||||||||
OpisZeruje znacznik przeniesienia (C) w SREG (Rejestr Stanu).
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:add r0,r0 ; Dodaj r0 do siebie clc ; Wyzeruj znacznik przeniesienia Liczba słów: 1 (2 bajty)Cykle: 1 |
CLH – Clear Half Carry Flag – Zerowanie znacznika przeniesienia połówkowego |
||||||||||||||||||||||||||||||||||||||||||
OpisZeruje znacznik przeniesienia połówkowego (H) w SREG (Rejestr Stanu).
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:clh ; Zeruj znacznik przeniesienia połówkowego
Liczba słów: 1 (2 bajty)Cykle: 1 |
CLI – Clear Global Interrupt Flag – Zerowanie globalnego znacznika przerwań |
||||||||||||||||||||||||||||||||||||||||||
OpisZeruje globalny znacznik przerwań (I) w SREG (Rejestr Stanu). Obsługa przerwań zostanie natychmiast wyłączona. Żadne przerwanie nie zostanie obsłużone po instrukcji CLI, nawet jeśli jego żądanie pojawi się jednocześnie z wykonywaniem instrukcji CLI.
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:in temp, SREG ; Zapamiętaj zawartość SREG (temp musi być zdefiniowane przez użytkownika) cli ; Wyłącz przerwania podczas sekwencji krytycznej czasowo sbi EECR, EEMWE ; Rozpocznij zapis do EEPROM sbi EECR, EEWE out SREG, temp ; Odtwórz zawartość SREG (Znacznik I) Liczba słów: 1 (2 bajty)Cykle: 1 |
CLN – Clear Negative Flag – Zerowanie znacznika N |
||||||||||||||||||||||||||||||||||||||||||
OpisZeruje znacznik ujemnego wyniku (N) w SREG (Rejestr Stanu).
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:add r2,r3 ; Dodaj r3 do r2 cln ; Wyzeruj znacznik ujemnego wyniku Liczba słów: 1 (2 bajty)Cykle: 1 |
CLR – Clear Register – Zerowanie rejestru |
||||||||||||||||||||||||||||||||||||||||||||||||
OpisZeruje rejestr. Instrukcja ta wykonuje operację sumy symetrycznej rejestru z nim samym. Powoduje to wyzerowanie wszystkich bitów w rejestrze.
16-bitowy kod instrukcji
(Zobacz na EOR) Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:clr r18 ; Zeruj r18 loop: inc r18 ; Zwiększ o 1 r18 ... cpi r18,$50 ; Porównaj r18 z $50 brne loop ; Jeśli różne, powtarzaj pętlę Liczba słów: 1 (2 bajty)Cykle: 1 |
CLS – Clear Signed Flag – Zerowanie znacznika znakowego |
||||||||||||||||||||||||||||||||||||||||||
OpisZeruje znacznik testu znakowego (S) w SREG (Rejestr Stanu).
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:add r2,r3 ; Dodaj r3 do r2 cls ; Zeruj znacznik znakowy Liczba słów: 1 (2 bajty)Cykle: 1 |
CLT – Clear T Flag – Zerowanie znacznika T |
||||||||||||||||||||||||||||||||||||||||||
OpisZeruje znacznik T w SREG (Rejestr Stanu).
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:clt ; Zeruj znacznik T
Liczba słów: 1 (2 bajty)Cykle: 1 |
CLV – Clear Overflow Flag – Zerowanie znacznika nadmiaru |
||||||||||||||||||||||||||||||||||||||||||
OpisZeruje znacznik nadmiaru (V) w SREG (Rejestr Stanu).
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:add r2,r3 ; Dodaj r3 do r2 clv ; Zeruj znacznik nadmiaru U2 Liczba słów: 1 (2 bajty)Cykle: 1 |
CLZ – Clear Zero Flag – Zerowanie znacznika zera |
||||||||||||||||||||||||||||||||||||||||||
OpisZeruje znacznik zera (Z) w SREG (Rejestr Stanu).
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:add r2,r3 ; Dodaj r3 do r2 clz ; Zeruj znacznik zera Liczba słów: 1 (2 bajty)Cykle: 1 |
COM – One’s Complement – Negacja U1 |
||||||||||||||||||||||||||||||||||||||||||||||||||
OpisTa instrukcja wykonuje negację bitów w rejestrze Rd, co odpowiada negacji w kodzie uzupełnień do 1.
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Wynik R (ang. Result) po operacji jest równy Rd. Przykładowy kod:com r4 ; Zaneguj bitowo of r4 breq zero ; Skocz przy zerze ... zero: nop ; Miejsce docelowe skoku (nic nie rób) Liczba słów: 1 (2 bajty)Cykle: 1 |
CP – Compare – Porównanie |
||||||||||||||||||||||||||||||||||||||||||||||||||||
OpisInstrukcja wykonuje porównanie ze sobą dwóch rejestrów Rd z Rr. Żaden z nich nie zostaje zmieniony. Po tej instrukcji można zastosować wszystkie instrukcje skoków warunkowych.
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Wynik R (ang. Result) po operacji jest równy Rd. Przykładowy kod:cp r4,r19 ; Porównaj r4 z r19 brne noteq ; skocz, jeśli r4 <> r19 ... noteq: nop ; Miejsce docelowe skoku (nic nie rób) Liczba słów: 1 (2 bajty)Cykle: 1 |
CPC – Compare with Carry – Porównanie z przeniesieniem |
||||||||||||||||||||||||||||||||||||||||||||||||||||
OpisInstrukcja wykonuje porównanie ze sobą dwóch rejestrów Rd z Rr. Żaden z nich nie zostaje zmieniony. Po tej instrukcji można zastosować wszystkie instrukcje skoków warunkowych.
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Wynik R (ang. Result) po operacji jest równy Rd. Przykładowy kod:; Porównaj r3:r2 z r1:r0 cp r2,r0 ; Porównaj młodsze bajty cpc r3,r1 ; porównaj starsze bajty brne noteq ; Skocz, jeśli różne ... noteq: nop ; Miejsce docelowe skoku (nic nie rób) Liczba słów: 1 (2 bajty)Cykle: 1 |
CPI – Compare with Immediate – Porównanie ze stałą |
||||||||||||||||||||||||||||||||||||||||||||||||||||
OpisInstrukcja wykonuje porównanie rejestru Rd ze stałą K. Żaden z nich nie zostaje zmieniony. Po tej instrukcji można zastosować wszystkie instrukcje skoków warunkowych.
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Wynik R (ang. Result) po operacji jest równy Rd. Przykładowy kod:cpi r19,3 ; Porównaj r19 z 3 brne error ; Skocz, jeśli r19<>3 ... error: nop ; Miejsce docelowe skoku (nic nie rób) Liczba słów: 1 (2 bajty)Cykle: 1 |
CPSE – Compare Skip if Equal – Porównanie z pominięciem przy równości |
||||||||||||||||||||||||||||||||||||||||||
OpisTa instrukcja wykonuje porównanie ze sobą dwóch rejestrów Rd i Rr i pomija następną instrukcję, jeśli Rd = Rr.
16-bitowy kod instrukcji
Zmiany znaczników w rejestrze stanu (SREG)
Przykładowy kod:inc r4 ; zwiększ o 1 r4 cpse r4,r0 ; Porównaj r4 z r0 neg r4 ; Wykonywane tylko wtedy, gdy r4<>r0 nop ; Kontynuuj (nic nie rób) Liczba słów: 1 (2 bajty)
|
![]() |
Zespół Przedmiotowy |
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.