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
|
...
|
|
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 |
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.
|
Atualizada em