Java

Não são implementados nos microcontroladores UC3. São 4 instruções disponíveis a saber:

INCJOSP – Incrementa o operando apontador de pilha do Java

Descrição: Incrementa o registrador de sistema "Operando apontador de pilha Java" com o valor.
Operação: I. if ( JOSP[3:0] + imm < 0 )
TRAP 4
else if (JOSP[3:0] + imm > 8 )
TRAP 3
else
JOSP ← JOSP + imm;
imm3 imm
100 -4
101 -3
110 -2
111 -1
000 1
001 2
010 3
011 4
Sintaxe: I. incjosp imm
Operandos: I. imm ∈ {-4, -3, -2, -1, 1, 2, 3, 4} 

POPJC – puxa o contexto Java a partir do quadro

Descrição: Buscar o sistema registradores LV0 para LV7 usado no estado Java a partir do atual quadro. O quadro de registrador (igual a R9) é utilizado como registrador ponteiro.
Operação: I. temp ←FRAME;
JAVA_LV0 ←*(temp--);
JAVA_LV1 ←*(temp--);
JAVA_LV2 ←*(temp--);
JAVA_LV3 ←*(temp--);
JAVA_LV4 ←*(temp--);
JAVA_LV5 ←*(temp--);
JAVA_LV6 ←*(temp--);
JAVA_LV7 ←*(temp--);
Sintaxe: I. popjc
Operandos: I. nenhu

PUSHJC – Empurre Contexto Java para o Quadro

Descrição: Armazena o sistema de registradores LV0 para LV7 usados no estado Java, na posição do corrente quadro. O quadro (igual ao R9) é utilizado como registrador ponteiro.
Operação: I. temp ←FRAME;
*(temp--) ←JAVA_LV0;
*(temp--) ←JAVA_LV1;
*(temp--) ←JAVA_LV2;
*(temp--) ←JAVA_LV3;
*(temp--) ←JAVA_LV4;
*(temp--) ←JAVA_LV5;
*(temp--) ←JAVA_LV6;
*(temp--) ←JAVA_LV7;
Sintaxe: I. pushjc
Operandos: I. nenhum

RETJ – Retorno do laço Java

Descrição: Retorna de um laço Java.
Operação: I. PC ← LR;
J ← 1;
R ← 0;
if ( SR[M2:M0] == B’001 )
GM ← 0;
Sintaxe: I . retj
Operandos: None 

Nenhum comentário:

Postar um comentário