Você está na página 1de 2

LING.

PROGRAMAÇÃO III
LISTA DE EXERCÍCIOS

1) Execute os programas a seguir passo-a-passo, observando o que ocorre com os registradores e


áreas de memórias envolvidas a cada instrução executada. Para que o exercício tenha o efeito
didático esperado, antecipe o que deve ocorrer antes de executar cada instrução.

a) MOV AX, 1234 b) MOV AX, 0 c) MOV AX, FF11


MOV BX, 5678 MOV DS, AX OR AX, 0002
MOV CX, 9ABC MOV AX, 200 MOV BX, A800
PUSH AX MOV ES, AX AND BX, B7FF
PUSH BX MOV CL, [41]
PUSH CX ES: MOV BL, [41]
POP AX MOV CH, [41]
POP BX
OBS: “ES: instrução” indica ao processador que
POP CX ele deve executar a instrução no segmento
definido pelo ES. Apenas essa instrução, depois o
acesso aos dados volta a ser definido pelo DS

2) Construa um programa em Assembly que:


a) Troque o conteúdo de AX com DX e BX com CX sem utilizar qualquer posição de memória ou
algum registrador de segmento, índice ou ponteiro. Para verificar o funcionamento correto do
programa, altere pelo Debug os valores dos registradores envolvidos antes de executar o
programa.

b) Faça os seguintes procedimentos:


AL = 81 BL = 4A CH = D9 AH = F2 BH = 2E CL = 64
CX  PILHA CH = OR entre AL E CL [42] = BH pilha  CX
O programa deve ter no máximo 8 linhas

c) Compare os valores que estão em AX e BX antes de executar o programa e armazene em CX


um resultado que tenha bit 1 nas posições em que os bits de AX e BX sejam iguais. Altere pelo
Debug, antes de executar o programa, diversos valores em AX e BX para testar o comportamento
do programa.

d) Sem utilizar instruções específicas de subtração, armazene em [200] o resultado de (AX – BX).
Nenhum dado pode ser manipulado diretamente pelo Debug, exceto para colocar valores de
teste em AX e BX, que devem ser obrigatoriamente positivos. Execute testes com AX > BX e
vice-versa, para se certificar que o programa funciona corretamente. O programa deve ter no
máximo 3 linhas.
RESPOSTAS QUESTÃO (2)

a) XCHG AX, DX b) MOV BX, 2E4A c) XOR AX, BX d) NEG BX


XCHG BX, CX MOV AX, F281 NOT AX ADD AX, BX
MOV CX, D964 MOV CX, AX MOV [200], AX
PUSH CX
OR AL, CL
MOV CH, AL
MOV [42], BH
POP CX

Você também pode gostar