Neander-X
O Neander só possui um modo de endereçamento: o modo direto (absoluto), no qual a palavra que segue o código da instrução contém, nas instruções de manipulação de dados, o endereço de memória do operando. Nas instruções de desvio, esse endereço corresponde à posição de memória onde está a próxima instrução a ser executada.
Devido à essa limitação do Neander, houve a necessidade de estender o conjunto de instruções da máquina original para incluir alguns detalhes à arquitetura, surgindo, então, o Neander-X, que possui as seguintes características:
a) utiliza 8 bits para representar uma instrução;
b) utiliza 8 bits para representar um endereço;
c) representa os números inteiros negativos como: N (negativo), 1- resultado negativo; e 0- resultado não-negativo;
d) podem existir 16 instruções;
e) são usados 256 endereços de memória, com 8 bits cada, sendo capaz de acessar qualquer endereço dos intervalos: 00000000 a 11111111 (binário), 0 a 255 (decimal) e 0M a FFH (hexadecimal). Com isso, temos a seguinte divisão de memória: posição 0M a 7FH: área programada; posição 80H a FFH: área de dados;
f) utiliza apenas um registrador de estado, com dois códigos de condição: negativo (N) e zero (Z);
g) de acordo com o formato da instrução, uma linha pode conter alguns dos seguintes elementos: um rótulo, um operador ou uma pseudoinstrução, um operando opcional e comentários. Linhas vazias são permitidas. Intruções com 1 byte: NOP e NOT; instruções com 2 bytes: STA, LDA, ADD, OR, AND, JMP, JN e JZ.
Outras características do Neander-X:
• A carga de dados imediatos no acumulador, simplificando operações de atribuição de dados;
• Um novo modo indireto de endereçamento, possibilitando exercitar as noções de indexação e ponteiros – que são básicas para entendimento de qualquer estrutura básica de