Wersja 0.3
89 rozkazów
Z pliku AvrStudio_asm.ini.txt wklej zawartość do pliku AvrStudio_asm.ini,
w ten sposób wszystkie makra będą podkolorowane jak rozkazy asm.
OPIS: (przykłady)
inistos -inicjalizuje stos wartością RAMEND
pushs -odkłada na stos r16 i SREG
pops -zdejmuje ze stosu SREG i r16
pushw R -odkłada na stos r17 i r16
popw R -zdejmuje ze stosu r16 i r17
nops 2 -wypisuje od 1 do 16 nop
xch AL,RL -zamienia zawartość r0 z r16
movb AL,7,RH,1 -kopiuje bit 1 z r17 do bitu 7 w r0
insbl PORT,BIT,AL,BL -kopiuje bit z portu i wsuwa w lewo do r0 przez C do 0x1F.
-r2 potrzebny dla portów powyżej 0x1F i używa T
insbr PORT,BIT,AL,BL -kopiuje bit z portu i wsuwa w prawo do r0 przez C do 0x1F.
-r2 potrzebny dla portów powyżej 0x1F i używa T
ldiw R,1234 -ładuje rejestry r16 i r17 stałą
ldsw R,ADRES -zapisuje w r16 i r17 zawartość pamięci (ADRES),(ADRES+1)
stsw ADRES,R -zapisuje do pamięci (ADRES),(ADRES+1) rejestry r16 i r17
lddw R,Z+2 -zapisuje do r16 i r17 zawartość pamięci (Z+2),(Z+3)
stdw Z+3,R -zapisuje do pamięci (Z+3),(Z+4) rejestry r16 i r17
ldw R,Z -zapisuje do r16 i r17 zawartość pamięci (Z),(Z+1)
ldwp R,Z+ -zapisuje do r16 i r17 zawartość pamięci (Z+),(Z+)
stw Z,R -zapisuje do pamięci (Z),(Z+1) rejestry r16 i r17
stwp Z+,R -zapisuje do pamięci (Z+),(Z+) rejestry r16 i r17
sti Z,255,RL -zapisuje do pamięci (Z) wartość 255,używa dodatkowo rejestr r16
Z+,255,RL
-Z,255,RL
stdi Z+2,255,RL -zapisuje do pamięci (Z+2) wartość 255,używa dodatkowo rejestr r16
stsi ADRES,255,RL -zapisuje do pamięci (ADRES) wartość 255,używa dodatkowo rejestr r16
stsiw ADRES,1234,RL -zapisuje do pamięci (ADRES),(ADRES+1) wartość 1234,używa dodatkowo rejestr r16
muli BL,255,RL -mnoży rejestr r2 (r2 do r31) przez stałą, używa rejestru r16 (r16 do r31)
adwr Z,RL -dodaje do pary rejestrów (A do Z) jeden rejestr (bajt) (AL do ZH)
addi RL,10 -dodaje wartość 10 do rejestru (RL do ZH), wskaźnik C zanegowany!
addiw R,1234 -dodaje wartość 1234 do rejestrów (R do Z), wskaźnik C zanegowany!
subiw R,1234 -odejmuje wartość 1234 od rejestrów (R do Z)
addw A,R -dodaje pary rejestrów (A do Z)
adcw A,R -dodaje pary rejestrów z przeniesieniem (A do Z)
subw A,R -odejmuje pary rejestrów (A do Z)
sbcw A,R -odejmuje pary rejestrów z przeniesieniem (A do Z)
cpw A,R -porównuje pary rejestrów (A do Z)
cpcw A,R -porównuje pary rejestrów z przeniesieniem (A do Z)
cpiw A,1234 -porównuje pare rejestrów z wartością 1234 (R do Z)
andw A,R -dwubajtowe AND (A do Z)
andiw R,1234 -AND pary rejestrów z wartością 1234 (R do Z)
orw A,R -dwubajtowe OR (A do Z)
oriw R,1234 -OR pary rejestrów z wartością 1234 (R do Z)
lslw B -przesuwa logicznie w lewo podwójny rejestr (A do Z)
lsrw B -przesuwa logicznie w prawo podwójny rejestr (A do Z)
asrw B -przesuwa arytmetycznie w prawo podwójny rejestr (A do Z)
rolw B -obraca w lewo przez C podwójny rejestr (A do Z)
rorw B -obraca w prawo przez C podwójny rejestr (A do Z)
clrw B -zeruje podwójny rejestr (A do Z)
comw B -neguje wszystkie bity w podwójnym rejestrze (A do Z)
negw B -uzupełnienie do dwóch na podwójnym rejestrze (A do Z)
lpmw B,Z+ -kopiowanie dwóch bajtów z pamięci programu z post-increment Z
- do rejestrów r3:r2 (A do Y)
rjne ETYKIETA -daleki skok jeśli nie równe
rjeq ETYKIETA -daleki skok jeśli równe
rjcc ETYKIETA -daleki skok jeśli C wyzerowane
rjcs ETYKIETA -daleki skok jeśli C ustawione
rjtc ETYKIETA -daleki skok jeśli T wyzerowane
rjts ETYKIETA -daleki skok jeśli T ustawione
rjge ETYKIETA -daleki skok jeśli równy lub większy (ze znakiem)
rjlt ETYKIETA -daleki skok jeśli mniejszy (ze znakiem)
rjhc ETYKIETA -daleki skok jeśli przeniesienie pomocnicze wyzerowane
rjhs ETYKIETA -daleki skok jeśli przeniesienie pomocnicze ustawione
rjid ETYKIETA -daleki skok jeśli globalne przerwania zabronione
rjie ETYKIETA -daleki skok jeśli globalne przerwania zezwolone
rjlo ETYKIETA -daleki skok jeśli mniejszy (bez znaku)
rjsh ETYKIETA -daleki skok jeśli równy lub większy (bez znaku)
rjmi ETYKIETA -daleki skok jeśli minus
rjpl ETYKIETA -daleki skok jeśli plus
rjvc ETYKIETA -daleki skok jeśli przepełnienie wyzerowane
rjvs ETYKIETA -daleki skok jeśli przepełnienie ustawione
retcc -powrót jeśli C wyzerowane
retcs -powrót jeśli C ustawione
reteq -powrót jeśli równe
retne -powrót jeśli nie równe
djnz RL,ETYKIETA - r16=r16-1, skocz jeśli nie zero. Skok krótki (rejestry górne)
djz RL,ETYKIETA - r16=r16-1, skocz jeśli zero. Skok krótki, (rejestry górne)
cjne AL,RL,ETYKIETA -skocz jeśli nierówne. Skok krótki, (rejestry dolne i górne)
cje AL,RL,ETYKIETA -skocz jeśli równe. Skok krótki, (rejestry dolne i górne)
IJNH RL,ETYKIETA -r16=r16+1, skocz jeśli r16<>255. Skok krótki (rejestry górne)
IJNZ RL,ETYKIETA -r16=r16+1, skocz jeśli r16=0. Skok krótki (rejestry dolne i górne)
setb ADRES,2,RL -ustawienie bitu 2 w zaadresowanym PORCIE lub SRAM, używa r16
clrb ADRES,3,RL -skasowanie bitu 3 w zaadresowanym PORCIE lub SRAM, używa r16
skbs ADRES,4,RL -przeskocz jeśli 4bit z PORTU lub SRAM ustawiony, używa r16
skbc ADRES,5,RL -przeskocz jeśli 5bit z PORTU lub SRAM skasowany, używa r16
outp PORT,RL -zapis do portu górnego lub dolnego (rejestr AL do ZH)
inp RL,PORT -odczyt z portu górnego lub dolnego (rejestr AL do ZH)
inw Z,PORT2B -odczyt z portu dwu-bajtowego, górnego lub dolnego (rejestr A do Z)
outw PORT2B,Z -zapis do portu dwu-bajtowego, górnego lub dolnego (rejestr A do Z)
outi PORT,255,RL -zapis do portu, górnego lub dolnego wartością stałą 255
outwi PORT2B,1234,Z -zapis do portu dwu-bajtowego, górnego lub dolnego wartością stałą 1234
***********************************************************************************************
lddee RL,256 -odczyt do r16 (r0-r31) z pamięci EEPROM z adresu 256
(dla mniejszych EEPROMÓW adres max 127)
ldee RL,B -odczyt do r16 (r0-r31) z pamięci EEPROM z adresu w B (A - Z)
(dla mniejszych EEPROMÓW adres max 127 i BL)
ldeep RL,Z -odczyt do r16 (r0-r31) z pamięci EEPROM z adresu w Z , (R - Z) i Z=Z+1
(dla mniejszych EEPROMÓW adres max 127 , ZL i ZL=ZL+1)
Trzeba pamiętać aby wskaźnik adresowy składał się z jednego rejestru dla procesorów mających
poniżej 128bajtów.
***********************************************************************************************
Wyszukiwarka
Podobne podstrony:
Macros AvrStudio asm iniMacroscyphus macropusMACROSMacroscopezend api macroszend layout macrosMACROSmacrosMacroscyphus macropuszend configuration macroswięcej podobnych podstron