O funcionamento de uma instrução depende de 2 valores, o nível da função e o parametro que será usado (pode ser o endereço de memória, o)
- LIT
Coloca no topo o valor especificado.
-
Exemplo:
LIT 0 5
-
Resultado:
-
Antes da instrução:
[0][0][0] ↑ (topo)
-
Depois da instrução:
[0][0][0][5] ↑ (topo)
-
- OPR
Executa a operação escolhida, de uma lista de 13
- Return
- Inversor
- Soma
- Subtração
- Multiplicação
- Divisão
- Resto por 2
- Igualdade
- Diferença
- Menor que
- Menor igual
- Maior que
- Maior igual
-
Exemplo:
OPR 0 7
-
Resultado:
-
Antes da instrução:
[0][0][0][2][2] ↑ (topo)
-
Depois da instrução:
[0][0][0][1] ↑ (topo)
-
- LOD
Carrega uma variável do endereço especificado para o topo
-
Exemplo:
LOD 0 3
-
Resultado:
-
Antes da instrução:
[0][0][0][5][2] 0 1 2 3 4 ↑ (topo)
-
Depois da instrução:
[0][0][0][5][2][5] 0 1 2 3 4 ↑ (topo)
-
- STO
Salva no endereço especificado o valor que está no topo
-
Exemplo:
STO 0 3
-
Resultado:
-
Antes da instrução:
[0][0][0][0][0][5] 0 1 2 3 4 ↑ (topo)
-
Depois da instrução:
[0][0][0][5][0] 0 1 2 3 ↑ (topo)
-
- CAL
Pula para a instrução especificada, configurando corretamente a chamada da função
-
Exemplo:
CAL 0 7
- INT
"Aloca" a quantidade especificada de memória
-
Exemplo:
INT 0 5
-
Resultado:
-
Antes da instrução:
[0][0][0][2] ↑ (topo)
-
Depois da instrução:
[0][0][0][2][0][0][0][0][0] ↑ (topo)
-
- JMP
Pula para a instrução especificada
-
Exemplo:
JMP 0 8
- JPC
Pula para a instrução especificada, caso o valor do topo seja 0
-
Exemplo:
JPC 0 8