You are on page 1of 2

LISTA DE EXERCCIOS - RAMSS

1) Determinar o valor do registrador A aps a execuo do trecho de programa abaixo. Resolva o exerccio e depois digite e execute o programa no Ramss para conferir o resultado. LDR B #5 LDR X #135 LDR A 128 JZ fim ADD A 0,X JC fim ADD X #1 SUB B #1 JMP loop fim: HLT Contedo da Memria 128 10 135 80 136 115 137 40 138 70 139 20

loop:

2) Dadas as instrues abaixo: - Carregar o registrador A com o valor 10; - Armazenar o contedo do registrador A na posio 128 da memria; - Carregar o registrador B com o valor 135; - Armazenar o contedo do registrador B na posio 129 da memria; - Carregar o registrador A com o valor 90; - Armazenar o contedo do registrador A na posio 135 da memria; - Carregar o registrador A com o contedo da posio 128 da memria; - Adicionar o contedo do registrador A com o contedo da posio 129 da memria; - Subtrair o contedo do registrador A do contedo apontado pela posio 129 da memria; - Fazer uma operao AND entre o contedo do registrador A e o valor 240; - Deslocar o registrador A uma posio direita; - Negar o valor do registrador A; - Parar o programa. Preencher a tabela abaixo da seguinte forma (seguir o exemplo para as duas primeiras instrues): - Coluna 1: Endereos da memria de programa - Coluna 2: Opcode (em hexadecimal) - Coluna 3: Mnemnico da Instruo - Coluna 4: Resoluo da instruo Endereo 00 02 Opcode (hexa) Byte (L) Byte (H) 22 0A 10 80 Mnemnico LDR A #10 STR A 128 A 10 128 (10) Resoluo

O cdigo 22 (em hexa) obtido da seguinte forma: 0 0 1 0 0 0 1 0


Opcode da REG. modo instruo A imediato LDR

3) Faa um programa para somar duas variveis de 16 bits representadas em complemento de 2. As variveis e o resultado esto dispostos segundo o mapa de memria abaixo: DICA: No esquecer de considerar o carry do 1 para o 2 byte!! - posio 128: byte mais significativo da primeira varivel - posio 129: byte menos significativo da primeira varivel - posio 130: byte mais significativo da segunda varivel - posio 131: byte menos significativo da segunda varivel - posio 132: byte mais significativo do resultado - posio 133: byte menos significativo do resultado 4) Faa um programa para contar o nmero de bits 1 de uma palavra, cujo endereo est armazenado na posio 128 da memria. O resultado deve ser apresentado no registrador X. DICA: A instruo SHR desloca todos os bits uma posio direita. O bit menos signficativo (ou seja, o mais direita) deslocado para o bit de carry.

You might also like