LISTA 02 – CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações possíveis? 24 = 16 3) Uma instrução em linguagem de alto nível corresponde a VÁRIAS instruções em linguagem ASSEMBLY. 4) Considere a seguinte instrução X=X +Y em linguagem de alto nível. Suponha que as variáveis X e Y correspondam às posições de memória 513 e 514, preencha os espaços em branco que correspondem a execução da instrução em alto nível, usando instruções em ASSEMBLY. (1) Carregar um registrador R com o conteúdo de posição de memória 513. (2) Adicionar o conteúdo da posição de memória 514 ao conteúdo do registrador R (3). Armazenar o conteúdo do registrador na posição de memória 513 5) Quais são as questões RELATIVAS ao projeto de um conjunto de instruções 6) Muitas operações em linguagem ASSEMBLY utilizam uma estrutura denominada PILHA (armazenada na memória) para sua execução. Identifique na figura abaixo o que armazena o conteúdo dos registradores do PROCESSADOR que controlam a referida PILHA 7) PILHAS podem ser usadas para implementar operações. Considera o conteúdo da pilha abaixo. Utilize as operações PUSH (item) e POP (), para implementar a operação de multiplicação dos dois números armazenados na pilha. 8) NUMERO DE ENDEREÇO DE UMA INSTRUÇÃO. As instruções podem possui 0, 01, 02 e 03, conforme abaixo discriminado. Explique, através de um esquema, o que faz as instruções SUB e MPY. SUB Y,A,B YA-B MPY T,D,E T D *E SUB Y,B YY-B MPY T,E T T *E SUB B AC AC - B AC AC * E MPY E 9) Quem é o AC em uma instrução com 01 endereço? É O REGISTRADOR ACUMULADOR LOCALIZADO 10) Uma UCP com instruções com menos endereços são MENOS COMPLEXAS 11) Um mesmo conjunto de classe de operações é encontrado em todos os tipos de máquinas. Relacione as operações abaixo com e respectiva classe de operação: 1. Operações de transferência de dados 2. Operações aritméticas 3. Operações lógicas 4. Operações de conversão 5. Operações de E/S 6. Operações de controle do sistema 7. Operações de transferência de controle. Halt Push Negate Shift Execute Store Reservadas para o uso do sistema operacional Move Rotate Translate Clear Decrement Start I/O Jump to subroutine Multiply Skip Halt Read Input Write Input 07 01 02 03 07 01 06 01 03 04 01 02 05 07 02 07 07 05 05 12) Explique cada uma das instruções abaixo: Halt Push Negate Shift Execute Store Move Rotate Translate Clear Decrement Start I/O Jump to subroutine Multiply Skip Halt Jump Conditional Read Input Write Input PARA A EXECUÇÃO DE UM PROGRAMA COLOCAR DADOS NA PILHA MUDA O SINAL DE UM OPERANDO DESLOCAMENTO DE OPERANDO PARA ESQUERDA ( DIREITA) INTRODUZINDO CONSTANTE NO FINAL. BUSCA UM OPERANDO EM UMA POSIÇÃO ESPECÍFICA DA MEMÓRIA E EXECUTA O VALOR DESTE OPERANDO COMO UMA INSTRUÇÃO. NÃO MODIFICA O VALOR DO CONTADOR DE PROGRAMA (PC). TRANSFERE PALAVRA OU BLOCO DA FONTE PARA O DESTINO ROTAÇÃO CIRCULAR DO OPERANDO PARA ESQUERDA OU PARA DIREITA. TRANSFERE UMA PALAVRA CONTENDO ZERO PARA O DESTINO SUBTRAI 1 DO OPERANDO TRANSFERE INSTRUÇÕES PARA O PROCESSADOR DE E/S PARA INICIAR UMA OPERAÇÃO DE E/S ARMAZENA INFORMAÇÃO DE CONTROLE DA OPERAÇÃO CORRENTE EM UMA POSIÇÃO CONHECIDA E DESVIA PARA O ENDEREÇO ESPECIFICADO. CALCULA O PRODUTO DE DOIS OPERANDOS INCREMENTA O CONTADOR DE PROGRAMA (PC). O ENDEREÇO DA PRÓXIMA INSTRUÇÃO PARA A EXECUÇÃO DE UM PROGRAMA. TESTA UMA CONDIÇÃO. CARREGA OU NÃO O PC COM O ENDEREÇO ESPECIFICADO, CONFORME RESULTADO DO TESTE. TRANSFERE DADO PARA PORTA OU DISPOSITIVO DE E/S ESPECIFICADO PARA O DESTINO. TRANSFERE DADO DA FONTE ESPECIFICADA PARA PORTA OU DESTINO DE E/S. 13) Explique em detalhes os seguintes programas em linguagem ASSEMBLY que contém operações de desvio. SUBTRAI X de Y. SE O RESULTADO FOR IGUAL A ZERO (TESTE) O PROGRAMA DESVIARÁ PARA O ENDEREÇO 211. CASO CONTRÁRIO O PROGRAMA VAI PARA O ENDEREÇO 2004 SUBTRAI X de Y. SE O RESULTADO FOR NEGATIVO (TESTE) O PROGRAMA DESVIARÁ PARA O ENDEREÇO 223. CASO CONTRÁRIO O PROGRAMA VAI PARA O ENDEREÇO 2004 SE O CONTEÚDO DOS REGISTRADORES R1 e R2 FOREM IGUAIS (TESTE) O PROGRAMA DESVIA PARA O ENDEREÇO 235. 14) As operações de chamada de procedimento utilizam uma PILHA. Considerando o programa abaixo que acionam procedimentos mostre as operações executadas sobre a pilha armazenada na memória do computador. 15) As operações de chamada de procedimento utilizam uma PILHA. Considerando o programa abaixo que acionam procedimentos mostre as operações executadas sobre a pilha armazenada na memória do computador.