Arquitectura de Computadores
RELATÓRIO
Nº1
ARQUITETURA DE COMPUTADORES
INTRODUÇÃO
O presente relatório tem como objectivo apresentar a resolução um problema introdutório para a cadeira de arquitectura de computadores que irá incluir:
1. Algoritmo e código em assembly necessários para adicionar a letra A na memória de vídeo na primeira posição a piscar, de cor amarela e fundo azul. 2. Funcionamento básico do debugger
Objectivo
Colocar a letra A de cor amarela e fundo azul a piscar na primeira posição da memória vídeo.
Algoritmo
1. Criar um ponteiro que aponta para a primeira posição da memória vídeo.
1.1. Colocar o valor B800H no registo ES
1.2. Colocar o valor 0 no registo DI
2. Escrever o código ASCII da letra A e os repectivos atributos na posição indicada pelo ponteiro
Código em assembly mov ax,0b800H mov es,ax mov di,0
; 1.1
; 1.2
mov al,'A' mov ah, 10011110b
;2
mov es:[di],ax
O código foi feito para que a inserção da letra fosse feita com uma única operação. O código ASCII da letra A é carregado para o registo AL, seguidamente é carregado o número 10011110 (em binário) que representa os atributos necessários dessa letra. O registo Ax é carregado no ponteiro es:[di] que irá escrever o registo AL na memória endereçada pelo ponteiro 0b800H:0000 e o registo AH na memória endereçada pelo ponteiro 0b800H:0001;
Figura 1-Exemplo do programa a funcionar
Debugger
O debugger é utilizado para corrigir erros nos programas. Com ele, conseguimos ver passo-a-passo a execução de instruções do nosso programa pelo CPU.
Figura 2 – Exemplo do debugger a funcionar ( neste caso, do programa que foi feito anteriormente). Label
Descrição
A
Aqui estao localizadas as instruções que o CPU executa. Estas instruções são apresentadas passo a passo tal como o seu respectivo código de instrução
(cs:ip).
B
Encontram-se os registos de memorio de cada respectivo segmento onde conseguimos ver o valor