Solução

Aluno:___________________________________________________________Nº:_________________



1.A arquitetura simplificada do processador da Fig.1 tem quatro instruções PARAR, SOMAR, SUBTRAIR e TRANSFERIR, cujos códigos de operação estão mostrados abaixo. Na memória do processador tem um programa armazenado a partir do endereço 000000 cujo conteúdo em linguagem de máquina está mostrado abaixo. Sabendo que nas posições de memória 111011, 111100 e 111101 tem a representação BCD dos 6 dígitos mais significativos do seu CPF, determine o conteúdo da locação de memória 111110 após a conclusão do programa.Justifique.
Solução

Endereço
Conteúdo
Comentários
000000
10111011
Subtrair do ACC(00000000) número da posição 111011(X7X6X5X4X3X2X1X0)
000001
01111100
Somar ao ACC(menos X7X6X5X4X3X2X1X0) número da posição 111100 (Y7Y6Y5Y4Y3Y2Y1Y0)
000010
10111101
Subtrair do ACC(menos X7X6X5X4X3X2X1X0 mais Y7Y6Y5Y4Y3Y2Y1Y0) número da locação 111101(Z7Z6Z5Z4Z3Z2Z1Z0)
000011
11111110
Salvar na posição 111110  conteúdo do ACC (menos X7X6X5X4X3X2X1X0 mais Y7Y6Y5Y4Y3Y2Y1Y0 menos Z7Z6Z5Z4Z3Z2Z1Z0)
000100
00111110
Parar o programa 
...
...
 
...
...
 
111011
X7X6X5X4X3X2X1X0
Representação  BCD(4-bits para cada dígito) de dois dígitos do seu CPF
111100
Y7Y6Y5Y4Y3Y2Y1Y0
Representação  BCD(4-bits para cada dígito) de mais dois dígitos do seu CPF 
111101
Z7Z6Z5Z4Z3Z2Z1Z0
Representação  BCD(4-bits para cada dígito) de mais dois dígitos do seu CPF  
...
...
 
111110
...
menos X7X6X5X4X3X2X1X0 mais Y7Y6Y5Y4Y3Y2Y1Y0 menos Z7Z6Z5Z4Z3Z2Z1Z0 
111111
...
 
Obs.: Todas as operações de números com sinal usam a representação em complemento-de-dois.
Código de Operação
Instrução
00
Parar o programa
01
Somar ao ACC conteúdo do endereço
10
Subtrair do ACC conteúdo do endereço
11
Transferir conteúdo do ACC para o endereço

 

Fig.1



2.O processador da Fig.2 tem na memória um programa cuja listagem está mostrada. Sabendo que o conjunto de instruções está indicado abaixo e o conteúdo da posição de memória 11H é igual à representação BCD dos tres dígitos mais siginificativos do seu CPF se o CPF é par e, igual à representação dos tres dígitos menos significativos, se o CPF é ímpar, então determine o conteúdo da posição de memória 12H após o processamento do programa.
Solução

Endereço(Hexa)
Conteúdo
Comentários
00
CRA
Limpa o registrador ACC (000000000000)
01
ADD 11
Soma o conteúdo da posição 11(representação BCD de tres dígitos do seu CPF, isto é, 12-bits) ao ACC(X11X10X9X8X7X6X5X4X3X2X1X0)
02
CRF
Limpa o flag do ACC, isto é, F=0
03
ROL
Rotaciona para esquerda o ACC com F, então ACC igual a X10X9X8X7X6X5X4X3X2X1X00 e F igual a X11
04
ISZ 0D
Incrementa o conteúdo da locação 0D(FFC igual a -4), salva o valor incrementado em 0D e verifica o flag Z(Z=1 se o incremento resulta 0 e salta instrução seguinte;se o incremento resulta diferente de 0, Z=0 e, então, executa a instrução seguinte) ; ou seja um loop de 4 passos.
05
JMP 02
Salta para instrução no endereço 02(instrução é executada em 4 loops nos endereços 02, 03, 04 e 05, que faz ACC igual X7X6X5X4X3X2X1X00000 )
06
CRF
Limpa o flag do ACC, isto é, F=0
07
ROR
Rotaciona para direita o ACC com F, então ACC igual a 0X7X6X5X4X3X2X1X0000 e F igual a 0
08
ISZ 0E
Incrementa o conteúdo da locação 0E(FFC igual a -4), salva o valor incrementado em 0E e verifica o flag Z(Z=1 se o incremento resulta 0 e salta instrução seguinte;se o incremento resulta diferente de 0, Z=0 e, então, executa a instrução seguinte) ; ou seja um loop de 4 passos; depois de 4 loops, o ACC é igual a 0000X7X6X5X4X3X2X1X0
09
JMP 07
Salta para instrução no endereço 07;
0A
STA 12
Armazena o conteúdo do ACC na posição 12, ou seja 0000X7X6X5X4X3X2X1X0 é armazenado na locação 12
0B
HLT
Pára a execução do programa.
0C
...
 
0D
FFC
FFC=111111111100, número negativo(bit MSB igual a 1), em complemento-de-dois, cujo valor em decimal é igual a -4 
0E
FFC
FFC=111111111100, número negativo(bit MSB igual a 1), em complemento-de-dois, cujo valor em decimal é igual a -4  
0F
...
 
10
...
 
11
XXX
A representação BCD de tres dígitos do seu CPF, ou seja, 12-bits, X11X10X9X8X7X6X5X4X3X2X1X0
12
0XX
Valor de saída do processamento: limpa o dígitos à esquerda MSD e deixa inalterados os dígitos do meio e à direita, dos tres dígitos do seu CPF. 
Obs.: Todas as operações de números com sinal usam a representação em complemento-de-dois.
Fig.2



Atualizada em 12/12/2007

Free Web Hosting