Rozkaz |
Opis |
Cykle |
PUSH #liczba |
stos « liczba |
2 |
PUSH [adres] |
stos « [adres] |
3 |
POP [adres] |
[adres] « stos |
3 |
MOV ST(n),[adres] |
(n-ty element ze stosu) « [adres] |
4 |
MOV [adres],ST(n) |
[adres] « (n-ty element ze stosu) |
4 |
DUP |
duplikuj element ze szczytu stosu |
2 |
DEL |
usuń element ze szczytu stosu |
1 |
SWAP |
zamień element 1 i 2 na szczycie stosu |
3 |
ADD |
element1 « stos ; element2 « stos ; stos « element1+element2 |
2 |
SUB |
element1 « stos ; element2 « stos ; stos « element1-element2 |
2 |
MUL |
element1 « stos ; element2 « stos ; stos « element1×element2 |
3 |
DIV |
element1 « stos ; element2 « stos ; stos « element1 : element2 |
4 |
NEG |
zamień wartość ze szczytu stosu liczbą przeciwną |
1 |
NOT |
jeśli element na szczycie stosu jest zerem, zamień go
na 1, w przeciwnym wypadku - na 0 |
1 |
CALL |
stos skoków « PC+1 ; PC « stos |
4 |
RET |
PC « stos skoków |
4 |
JMP |
adres « stos ; PC « adres |
2 |
JE |
element « stos ; adres « stos ; PC « adres jeżeli element=0 |
2 (skok wykonany) lub 1 |
JNE |
element « stos ; adres « stos ; PC « adres jeżeli element nie jest równy 0 |
2 (skok wykonany) lub 1 |
JG |
element « stos ; adres « stos ; PC « adres jeżeli element większy od 0 |
2 (skok wykonany) lub 1 |
JL |
element « stos ; adres « stos ; PC « adres jeżeli element mniejszy od 0 |
2 (skok wykonany) lub 1 |
JGE |
element « stos ; adres « stos ; PC « adres jeżeli element większy równy 0 |
2 (skok wykonany) lub 1 |
JLE |
element « stos ; adres « stos ; PC « adres jeżeli element mniejszy równy 0 |
2 (skok wykonany) lub 1 |