17.01.2013 Views

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ComPort <strong>–</strong> <strong>Compilador</strong> <strong>Portugol</strong><br />

APENDICE C <strong>–</strong> OPCODES DA MÁQUINA VIRTUAL<br />

Tipo da<br />

Instrução/opcode<br />

Transferência de<br />

dados<br />

LB, LBU, SB<br />

LH, LHU, SH<br />

LW, SW<br />

LF, LD, SF, SD<br />

MOVI2S, MOVS2I<br />

MOVF, MOVD<br />

MOVFP2I, MOVI2FP<br />

Aritmético/Lógico<br />

ADD, ADDI, ADDU,<br />

ADDUI<br />

SUB, SUBI, SUBU,<br />

SUBUI<br />

Significado<br />

Movimentação de dados entre os registradores e<br />

a memória ou entre um registrador inteiro, de<br />

ponto flutuante ou de propósito especial. Só há<br />

uma forma de endereçamento: deslocamento de<br />

16 bits + o valor de um registrador de uso geral.<br />

Carrega byte, carrega byte sem sinal e armazena<br />

byte<br />

Carrega meia-palavra, carrega meia-palavra sem<br />

sinal, armazena meia palavra<br />

Carrega palavra, armazena palavra (de/para)<br />

registradores inteiros<br />

Carrega número de ponto flutuante de precisão<br />

simples, carrega número de ponto flutuante de<br />

precisão dupla, armazena número de ponto<br />

flutuante de precisão simples, armazena número<br />

de ponto flutuante de precisão dupla<br />

Move de ou para um registrador de uso geral de<br />

ou para um registrador de uso especial<br />

Copia um registrador de ponto flutuante ou um<br />

para de dupla precisão para outro registrador ou<br />

par.<br />

Move 32 bits de/para um registrador de ponto<br />

flutuante de/para um registrador inteiro<br />

Operações em inteiros ou tipos lógicos em<br />

registros de uso geral. Operações aritméticas<br />

com sinalsetam o trap em caso de overflow<br />

Adiciona, adiciona com constante (16 bits); com<br />

sinal e sem.<br />

Subtraia, subtraia com constante (16 bits); com e<br />

sem sinal<br />

MULT, MULTU, DIV, Multiplique e divida, com e sem sinal<br />

115

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!