Anda di halaman 1dari 5

Caractersticas

O computador NEANDER tem as seguintes caractersticas: Largura de dados e endereos de 8 bits Dados representados em complemento de dois 1 acumulador de 8 bits (AC) 1 apontador de programa de 8 bits (PC) 1 registrador de estado com 2 cdigos de condio: negativo (N) e zero (Z)

Modos de endereamento O NEANDER s possui um modo de endereamento: o modo direto (muitas vezes tambm chamado de absoluto). No modo de endereamento direto (Figura 4.1), a palavra que segue o cdigo da instruo contm, nas instrues de manipulao de dados, o endereo de memria do operando. Nas instrues de desvio, o endereo contido na instruo corresponde posio de memria onde est uma instruo a ser executada.

Conjunto de instrues O conjunto de instrues de NEANDER compreende 11 instrues, codificadas atravs dosquatro bits mais significativos da palavra que contm o cdigo da instruo:

Cdigo Instruo Comentrio 0000 0001 0010 0011 100 1101 0110 NOP nenhuma operao

STA end darmazena acumulador - (store) LDA end carrega acumulador - (load) ADDend soma OR end ou lgico AND end e lgico NOT inverte (complementa) acumulador

1000 JMP end desvio incondicional - (jump) 1001 JN end 1010 JZ end 1111 HLT desvio condicional - (jump on negative) desvio condicional - (jump on zero) trmino de execuo - (halt)

Na Tabela acima, end significa endereo direto. Nas instrues STA, LDA, ADD, OR e AND, end corresponde ao endereo de operando. Nas instrues JMP, JN e JZ, end correspondeao endereo de desvio. As aes efetuadas por cada uma das instrues da Tabela 4.1 podemser vistas na prxima tabela a seguir:

Instruo Comentrio NOP nenhuma operao

STA end MEM (end) AC LDA end ACMEM(end) ADD end ACMEM(end) +AC OR end ACMEM(end) OR AC

AND end ACMEM(end) AND AC NOT ACNOTAC

JMP end PCend JN end JZ end IF N=1 THEN PCend IF Z=1 THEN PCend

Onde:AC o acumulador, MEM (end) significa contedo da posio end de memria, N e Z so os cdigos de condio e representa uma atribuio.

Cdigos de condio A unidade lgica e aritmtica de NEANDER fornece os seguintes cdigos de condio, queso usados pelas instrues JN e JZ: N - (negativo) : sinal do resultado1 - resultado negativo 0 resultado positivoZ - (zero): indica resultado igual a zero1 - resultado igual a zero0 resultado diferente de zero.

As instrues lgicas e aritmticas (ADD, NOT, AND, OR) e a instruo de transferncia LDA afetam os cdigos de condio N e Z. As demais instrues (STA, JMP, JN, JZ, NOP e HLT) no alteram os cdigos de condio.

Formato das instrues As instrues de NEANDER so formadas por um ou dois bytes, ou seja, ocupam uma ou duas posies na memria.

Nas instrues de um byte, os 4 bits mais significativos contm o cdigo da instruo. Nas instrues de dois bytes, o primeiro byte contm o cdigo (tambm nos 4 bits mais significativos) e o segundo byte contm um endereo. Instrues de dois bytes, no NEANDER, so aquelas instrues que fazem referncia memria.

Exemplo de programao

Vamos considerar, como exemplo, um programa que realiza a soma de 3 posies consecutivas da memria e armazena o resultado numa quarta posio. Inicialmente, devem ser escolhidas a rea de dados e a rea de programa, ou seja, a localizao das instrues e dados na memria. No existem critrios para essa escolha, mas deve ser observado que a rea de programa no pode invadir a rea de dados e vice-versa. Seja, para esse programa, escolhida uma alocao de memria de tal forma que o programa ocupe a metade inferior da memria e os dados a metade superior, como segue:

rea de programa incio do programa posio 0 (0H) rea de dados primeira parcela posio 128 (80H) segunda parcela posio 129 (81H) terceira parcela posio 130 (82H) resultado posio 131 (83H)

O programa seria: Simblico Comentrios

LDA 128 % acumulador A recebe contedo da posio 128 ADD 129 % contedo de A somado ao contedo da posio 129 ADD 130 % contedo de A somado ao contedo da posio 130 STA 31 % contedo de A copiado na posio 131 HLT % processador para

Esse programa pode ser editado em linguagem de mquina (tanto em hexa como em decimal), depurado e executado usando o simulador/depurador NEANDER, cujos comandos foram apresentados no captulo respectivo. A codificao em linguagem de mquina correspondente a cada uma das instrues mostradas acima seria:

Simblico LDA128

Hexa 20 80

Decimal 32 128 48 129 48 130 16 131 240

ADD 129 30 81 ADD 130 30 82 STA 131 10 83 HLT F0

Concluso:

NEANDER um computador muito simples, desenvolvido apenas para fins didticos. Processadores modernos so muito mais complexos que NEANDER. Entretanto, mesmo processadores utilizados nas mais sofisticadas estaes de trabalho so baseados nos conceitos elementares foi aprendido com NEANDER.

Programa

1 ;--------------------------------------------------2 ; Programa: soma de duas variveis de 8 bits 3; 4; 5 ;--------------------------------------------------6 a EQU 128 ; posio da 1 varivel 7 b EQU 129 ; posio da 2 varivel 8 soma EQU 130 ; posio do resultado 9 10 11 ORG 0 ; Inicio do programa 12 00 20 80 LDA a ; 13 02 30 81 ADD b 14 04 10 82 STA soma ; resultado da soma 15 06 D0 00 OUT 0 ; impresso do resultado 16 17 18 08 F0 HLT ; Fim 19 20 21 Listagem da tabela de smbolos Smbolo Linha Endereo A 5 080 B 6 081 SOMA 7 082 NeanderWin Um Simuladir Didtico para uma Arquitetura do Tipo Acumulador: http://www.dcc.ufrj.br/~gabriel/WEAC2006.pdf

Anda mungkin juga menyukai