Atividade de CPU - arquitetura de computadores
Por: Raman Pimentel • 1/5/2022 • Exam • 345 Palavras (2 Páginas) • 136 Visualizações
ARQUITETURA DE COMPUTADORES
ATIVIDADE – CPU simples
- Traduza os seguintes trechos de programa em linguagem de alto nível para linguagem Assembly e linguagem de máquina da CPU simples estudada. Considere os endereços dos dados A, B, C e D, como sendo 50h, 51h, 52h e 53h, respectivamente. Monte as instruções a partir do endereço 80h.
- A = B + C;
End | Ling. Assembly | Ling Máquina | Comentários | Acessos MP | |
80h | LDA B | 151h | ACC = B | 1L +1L | |
81h | ADD C | 352h | ACC= ACC +C | 1L +1L | |
82h | STR A | 250h | A= ACC | 1L +1E | |
83h | HLT | 0 | parada | 1L | |
50h (A) | |||||
51h (B) | |||||
52h (C) |
- if (A==B) C = A
End | Ling. Assembly | Ling Máquina | Comentários | Acessos MP | |
80h | LDA A | 150h | ACC = A | 1L +1L | |
81h | SUB B | 451h | ACC= ACC – B | 1L +1L | |
82h | JZ desvio | 584h | desvio | 1L | |
83h | HLT | 0 | Parada | 1L | |
84h | desvio | LDA A | 150h | ACC = A | 1L +1L |
85h | STR C | 252h | C = ACC | 1L +1E | |
86h | HLT | 0 | parada | 1L | |
50h (A) | |||||
51h (B) | |||||
52h (C) |
- if (A < C) B = B –C;
else C = A – B;
End | Ling. Assembly | Ling Máquina | Comentários | Acessos MP | |
80h | LDA A | 150h | ACC = A | 1L +1L | |
81h | SUB C | 452h | ACC= ACC – C | 1L +1L | |
82h | JN desvio | 787h | desvio | 1L | |
83h | LDA A | 150h | ACC = A | 1L + 1L | |
84h | SUB B | 451h | ACC= ACC – B | 1L +1L | |
85h | STR C | 252h | C= ACC | 1L +1E | |
86h | HLT | 0 | parada | 1L | |
87h | desvio | LDA B | 151h | ACC = B | 1L + 1L |
88h | SUB C | 452h | ACC= ACC – C | 1L + 1L | |
89h | STR B | 251h | B= ACC | 1L + 1E | |
8Ah | HLT | 0 | parada | 1L | |
50h (A) | |||||
51h (B) | |||||
52h (C) |
- if (C >= A) B = D + A;
else C = D – A;
End | Ling. Assembly | Ling Máquina | Comentários | Acessos MP | |
80h | LDA C | 152h | ACC = C | 1L + 1L | |
81h | SUB A | 450h | ACC = ACC - A | 1L +1L | |
82h | JP desvio | 687h | desvio | 1L | |
83h | LDA D | 153h | ACC = D | 1L + 1L | |
84h | SUB A | 450h | ACC = ACC -A | 1L + 1L | |
85h | STR C | 252h | C = ACC | 1L +1E | |
86h | HLT | 0 | parada | 1L | |
87h | desvio | LDA D | 153h | ACC = D | 1L + 1L |
88h | ADD A | 350h | ACC = ACC + A | 1L + 1L | |
89h | STR B | 251h | B = ACC | 1L +1E | |
8Ah | HLT | 0 | parada | 1L | |
50h (A) | |||||
51h (B) | |||||
52h (C) | |||||
53h (D) |
e) if (A > B) B = A;
else C = B + A ;
End | Ling. Assembly | Ling Máquina | Comentários | Acessos MP | |
80h | LDA A | 150h | ACC = A | 1L + 1L | |
81h | SUB B | 451h | ACC = ACC - B | 1L + 1L | |
82h | JP desvio | 687h | desvio | 1L | |
83h | LDA B | 151h | ACC = B | 1L + 1L | |
84h | ADD A | 350h | ACC = ACC + A | 1L + 1L | |
85h | STR C | 252h | C = ACC | 1L +1E | |
86h | HLT | 0 | parada | 1L | |
87h | desvio | LDA A | 150h | ACC = A | 1L + 1L |
88h | STR B | 251h | B = ACC | 1L +1E | |
89h | HLT | 0 | parada | 1L | |
8Ah | |||||
50h (A) | |||||
51h (B) | |||||
52h (C) |
...