Macros NoweRozkazy


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 ini
Macroscyphus macropus
MACROS
Macroscope
zend api macros
zend layout macros
MACROS
macros
Macroscyphus macropus
zend configuration macros

więcej podobnych podstron