Lista rozkazów asemblera ST7

Transkrypt

Lista rozkazów asemblera ST7
Lista rozkazów asemblera ST7
Mnemonika
Opis
ADC d,s
ADD d,s
AND d,s
BCP s,d
BRES d,b
BSET d,b
BTJF d,b,rel
BTJT d,b,rel
Dodaj z przeniesieniem s do d, wynik w d
Dodaj bez przeniesienia s do d, wynik w d
Iloczyn logiczny d i s
Porównanie bitowe A i d
Wyzerowanie bitu numer b w słowie d
Ustawienie bitu numer b w słowie d
Skok, jeśli bit b w słowie d jest 0
Skok, jeśli bit b w słowie d jest 1
CALL d
Wywołanie podprogramu o adresie absolutnym
CALLR rel
Wywołanie podprogramu o adresie względnym
CLR d
CP d,s
CPL d
DEC d
HALT
INC d
IRET
JP d
JRA rel
JRT rel
JRF rel
Wyzerowanie rejestru d
Porównanie arytmetyczne
Logiczne zanegowanie d
Zmniejszenie o 1 zawartości d
Wstrzymanie pracy CPU
Zwiększenie o 1 zawartości d
Powrót z procedury obsługi przerwania
Skok absolutny
Względny skok „zawsze”
Skok względny, jeśli prawda
Względny skok „nigdy”
JRIH rel
Skok względny, jeśli wejście przerwania=1
JRIL rel
Skok względny, jeśli wejście przerwania=0
pamięć
pamięć
pamięć
pamięć
–
–
–
–
Ustawiane
flagi
H,N,Z,C
H,N,Z,C
N,Z
N,Z
–
–
C
C
Tryby
adresowania
2,3,4,5,s,w
2,3,4,5,s,w
2,3,4,5,s,w
2,3,4,5,s,w
3,4,5,s
3,4,5,s
3,4,5,s
3,4,5,s
pamięć
–
–
3,4,5,s,w
pamięć
–
–
3,4,5,s
rejestr, pamięć
rejestr
rejestr, pamięć
rejestr, pamięć
–
rejestr, pamięć
–
pamięć
pamięć
pamięć
pamięć
–
pamięć
–
–
–
–
–
–
–
–
–
N=0, Z=1
N,Z,C
N,Z,C=1
N,Z
I=1
N,Z
H,I,N,Z,C
–
–
–
–
1,3,4,5,s
2,3,4,5,s,w
1,3,4,5,s
1,3,4,5,s
1
1,3,4,5,s
1
3,4,5,s,w
3,5,6
3,5,6
3,5,6
pamięć
–
–
3,5,6
pamięć
–
–
3,5,6
PC=PC+rel, jeśli H=1
pamięć
–
–
3,5,6
PC=PC+rel, jeśli H=1
pamięć
–
–
3,5,6
PC=PC+rel, jeśli I=1
PC=PC+rel, jeśli I=0
PC=PC+rel, jeśli N=1
PC=PC+rel, jeśli N=0
PC=PC+rel, jeśli Z=1
PC=PC+rel, jeśli Z=0
PC=PC+rel, jeśli C=1
PC=PC+rel, jeśli C=0
PC=PC+rel, jeśli <
PC=PC+rel, jeśli
PC=PC+rel, jeśli >
PC=PC+rel, jeśli
d <– s
d:s <– d * s
d <– (d XOR FFh)+1
NOP
d <– d OR s
d <– (SP), SP=SP+1
(SP) <– d, SP=SP–1
C=0
PC <– (SP), SP=SP+2
I=0
pamięć
pamięć
pamięć
pamięć
pamięć
pamięć
pamięć
pamięć
pamięć
pamięć
pamięć
pamięć
rejestr, pamięć
A,X,Y
rejestr, pamięć
–
A
rejestr, CC
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
rejestr, pamięć
A,X,Y
–
–
pamięć
–
rejestr, CC
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
N,Z
H=0,C=0
N,Z,C
–
N,Z
H,I,N,Z,C
–
C=0
–
I=0
3,5,6
3,5,6
3,5,6
3,5,6
3,5,6
3,5,6
3,5,6
3,5,6
3,5,6
3,5,6
3,5,6
3,5,6
1,2,3,4,5,s,w
1
1,3,4,5,s,w
1
2,3,4,5,6,s,w
1
1
1
1
1
Funkcja
Cel
Skąd
d <– d+s+C
d <– d+s
d <– d AND s
{N, Z} <– s AND d
d.b <– 0
d.b <– 1
PC=PC+rel, jeśli d.b=0
PC=PC+rel, jeśli d.b=1
(SP) <– PC, SP=SP–2
PC=d
(SP) <– PC, SP=SP–2
PC=PC+rel
d <– 0
{N,Z,C} <– test(d,s)
d <– d XOR FFh
d <– d–1
–
d <– d+1
pop CC,A,X,PC
PC=d
PC=PC+rel
PC=PC+rel
NOP,NOP
PC=PC+rel, jeśli
INTx=1
PC=PC+rel, jeśli
INTx=0
A
A
A
A
pamięć
pamięć
pamięć
pamięć
JRM rel
JRNM rel
JRMI rel
JRPL rel
JREQ rel
JRNE rel
JRC rel
JRNC rel
JRULT rel
JRUGE rel
JRUGT rel
JRULE rel
LD d,s
MUL d,s
NEG d
NOP
OR d,s
POP d
PUSH d
RCF
RET
RIM
Skok względny, jeśli flaga przeniesienia połówkowego
H=1
Skok względny, jeśli flaga przeniesienia połówkowego
H=0
Skok względny, jeśli flaga I=1
Skok względny, jeśli flaga I=0
Skok względny, jeśli flaga znaku ujemnego N=1
Skok względny, jeśli flaga znaku ujemnego N=0
Skok względny, jeśli flaga zera Z=1
Skok względny, jeśli flaga zera Z=0
Skok względny, jeśli flaga przeniesienia C=1
Skok względny, jeśli flaga przeniesienia C=0
Skok względny, jeśli mniejsze
Skok względny, jeśli większe lub równe
Skok względny, jeśli większe
Skok względny, jeśli mniejsze lub równe
Załadowanie s do d
Mnożenie arytmetyczne d i s
Dopełnienie jedynkowe d (negacja d)
Instrukcja „pusta”
Suma logiczna d i s
Pobranie d ze stosu
Odłożenie d na stos
Wyzerowanie bitu przeniesienia C
Powrót z podprogramu
Wyzerowanie bitu I
RLC d
Przesunięcie w lewo z przeniesieniem
rejestr, pamięć
–
N,Z,C
1,2,4,5,w
RRC d
Przesunięcie w prawo z przeniesieniem
rejestr, pamięć
–
N,Z,C
1,2,4,5,w
RSP
Wyzerowanie wskaźnika stosu
SBC d,s
SCF
SIM
Odjęcie s od d z przeniesieniem
Ustawienie flagi przeniesienia
Ustawienie flagi zezwolenia na obsługę przerwań
SLA d
JRH rel
JRNH rel
SP=<wartość po
reset>
d <– d–s–C
C=1
I=1
SP
–
–
1
A
CC
CC
pamięć
–
–
N,Z,C
C=1
I=1
2,3,4,5,s,w
1
1
Arytmetyczne przesunięcie w lewo
rejestr, pamięć
–
N,Z,C
1,2,4,5,w
SLL d
Logiczne przesunięcie w lewo
rejestr, pamięć
–
N,Z,C
1,2,4,5,w
SRA d
Arytmetyczne przesunięcie w prawo
rejestr, pamięć
–
N,Z,C
1,2,4,5,w
SRL d
Logiczne przesunięcie w prawo
rejestr, pamięć
–
N,Z,C
1,2,4,5,w
SUB d,s
SWAP d
TNZ d
TRAP
WFI
XOR d,s
Odjęcie s od d bez przeniesienia
Zamiana połówek bajtu
Testowanie warunków N i Z
Pułapka programowa
Oczekiwanie na przerwanie
Logiczne wyłącznie–lub d z s
A
rejestr, pamięć
rejestr, pamięć
–
–
A
pamięć
–
–
–
–
pamięć
N,Z,C
N,Z
N,Z
I=1
I=0
N,Z
2,3,4,5,s,w
1,3,4,5,s
1,2,4,5,s
1
1
2,3,4,5,s,w
d <– d–s
d(7:4) D d(3:0)
{N,Z} = test(d)
–
–
d <– d XOR s
Uwagi:
• Tryby adresowania: 1 – prosty, 2 – natychmiastowy, 3 – bezpośredni, 4 – za pomocą rejestru indeksowego, 5 – pośredni, 6 – relatywnie do PC, s – krótki
(adres 8–bitowy), w – długi (adres 16–bitowy)
• Flagi: H – przeniesienia połówkowego, I – zezwolenia na obsługę przerwań, N – znaku ujemnego, Z – wyniku zerowego, C – przeniesienia

Podobne dokumenty