Professional Documents
Culture Documents
m ? "
As instruções podem ter um ou dois bytes Nas instruções com apenas um byte, os
4 bits mais significativos contém o código da operação Nas instruções com dois bytes,
que no Neander são aquelas que fazem referência a um operando na memória, o
segundo byte contém o endereço de memória deste operando
7 4 3 0
c
Nota: Os 4 bits de mais baixa ordem do primeiro byte são reservados para futuras
expansões Existem também dois códigos que não têm instruções associadas
£
0000 NOP nenhuma operação
000m STA armazena acumulador (store)
ender
00m0 L£A carrega acumulador (load)
ender
00mm A££ Soma
ender
0m00 OR ender operação lógica ³ou´
0m0m AN£ operação lógica ³e´
ender
0mm0 NOT inverte (complementa) acumulador
m000 JMP desvio incondicional (jump)
ender
m00m JN ender desvio condicional (jump on negative)
m0m0 JZ ender desvio condicional (jump on zero)
m0mm JNZ ender desvio condicional (jump on not zero)
mm00 IN ender operação de entrada no dispositivo ³ender´
mm0m OUT operação de saída no dispositivo ³ender´
ender
mmm0 L£I imed carrega o valor imediato imed no acumulador
mmmm HLT término da execução (halt)
c
O comando NOP não realiza nenhuma operação É usado apenas para gastar
tempo
"
½£" !
#
$
O comando OR realiza um "ou" lógico entre o acumulador e o conteúdo de uma
posição de memória indicada pelo operando ender
"c£ %
c &
'( )
'c *
'+
'c+
O comando JNZ (jump if not zero) desvia a execução do programa para o endereço
indicado pelo operando ender, apenas quando a última operação realizada produziu um
valor diferente de zero
c !
O comando IN (input) traz para o acumulador o valor lido num dispositivo externo
indicado pelo operando ender No Neanderwin os dispositivos são: chaves (endereço 0)
e o status de "dado disponível" das chaves (endereço m)
½£
$
O comando L£I (load immediate) carrega no acumulador o valor dado pelo
operando imed
-½ %
( .
/
- imediato
- direto
- indireto
m ?
#0
1.2,
.c£
A pseudo-instrução EN£ indica que o programa fonte acabou
£
£
A pseudo-instrução £ (define bytes) carrega esta palavra com o valor dado pelo
operando imed
m ? .3