NotesPortuguese
Registradores e Assembly
Dec 6, 2023
3 min read
#arquitetura#registradores#assembly
Resumo elaborado para revisão dos conteúdos de registradores e linguagem Assembly, com foco nas operações básicas e representação em linguagem de máquina.
📜 Operação C = A - B com registradores
Exemplo prático da execução de uma subtração utilizando comandos de registradores:
| Ação | Comando | Resultado |
|---|---|---|
| 1. Zerar Acc | Zacc | Acc = 0 |
| 2. Carregar aux com A | Ha, Wx | Aux = A |
| 3. Carregar aux no Acc | Rx, Wacc | Acc = Aux |
| 4. Carregar aux com B | Hb, Wx | Aux = B |
| 5. Complementar Aux | Cx | Aux = /Aux |
| 6. Incrementar Aux | Ix | Aux = Aux + 1 |
| 7. Carregar aux no Acc | Rx, Wacc | Acc = Aux |
| 8. Armazenar em C | HAcc, Wc | C = Acc |
📜 Representação da operação em Assembly
Subtração C = A - B representada em Assembly:
A = 20 (00010100), B = 40 (00101000)
Programa iniciado a partir da posição 45
Tabela de instruções
| Programa (Assembly) | Upcode e Endereço | Máquina |
|---|---|---|
| ADD Acc <45> | 01 101101 | 01101101 |
| SUB Acc <46> | 10 101110 | 10110010 |
| MOV <47> Acc | 11 101111 | 11101111 |
| STP | 00 000000 | 00000000 |
Memória
| Endereço | Valor |
|---|---|
| 1 | 01101001 |
| 2 | 10101110 |
| 3 | 11101111 |
| 4... | 00000000 |
| ...45 | 00010100 (40) |
| 46 | 00101000 (20) |
| 47 | 00010100 (20) |