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 |
byte | word | long |
00 | 01 | 10 |
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 |