next up previous contents
Next: Instruções de transferência Up: Instruções lógicas e aritméticas Previous: Instruções com operando em   Sumário

Instruções com operando imediato

Quando a instrução aritmética ou lógica envolve um operando imediato e um outro operando que não um registrador de dados é preciso usar as formas imediatas destas instruções,

    OPER.S  #<data>,<ea>
onde S é B, W ou L, enquanto que OPER pode ser:
Instrução Codificação (palavra de operação)
ADDI 00000110.ss.mmm.rrr
ANDI 00000010.ss.mmm.rrr
CMPI 00001100.ss.mmm.rrr
EORI 00001010.ss.mmm.rrr
ORI 00000000.ss.mmm.rrr
SUBI 00000100.ss.mmm.rrr
sendo
ss
o campo de tamanho do operando:
byte word long
00 01 10

mmm.rrr
os campos de modo e registrador do endereço efetivo do operando, que deve ser um dos modos de endereçamento de dados alteráveis.

O valor do operando imediato ocupa uma (no caso de byte ou word) ou duas (no caso de long) palavras após a palavra de operação. Se o endereço efetivo também precisar de palavras adicionais -- como um endereço em modo de endereçamento absoluto -- estas virão codificadas após o valor imediato.

Para as instruções de soma e subtração envolvendo pequenos valores imediatos -- entre 1 e 8 -- há instruções adicionais que permitem uma codificação mais compacta:

Instrução Codificação
ADDQ #<data>,<ea> 0101.vvv.0.ss.mmm.rrr
SUBQ #<data>,<ea> 0101.vvv.1.ss.mmm.rrr
onde
vvv
é o campo do valor imediato, sendo 000 interpretado como 8 e 001 a 111 como 1 a 7, respectivamente,
e os demais campos são como descritos acima para as outras formas de instruções com operandos imediatos.


next up previous contents
Next: Instruções de transferência Up: Instruções lógicas e aritméticas Previous: Instruções com operando em   Sumário
Ivan L. M. Ricarte 2003-02-14