Escolar Documentos
Profissional Documentos
Cultura Documentos
Flag de Transporte.
O flag de transporte CY (Carry), pode
A B
TS TE
CY = CARRY para instruções ADD (SUB = 0)
CY = CARRY para instruções SUB (SUB = 1)
UFPA - Prof. Adônis Leal
Exemplos
11111111 00000011
+ 00000001 - 00000001
= =
00111111 00000011
+ 00000001 - 00000111
= =
STC
CMC
1 1 1 1 1 1 1 0
1
A B
TS TE
Instrução Comentário
MVI A,84H ;Carrega o byte inferior de 900 em A
SUI BCH ;Subtrai o byte inferior de 700 de A
MOV L,A ;Salva o byte inferior do resultado
MVI A,03H ;Coloca o byte superior de 900 em A
SBI 02H ;Subtrai o byte superior de 700 e CY
MOV H,A ;Salva o byte superior do resultado
HLT
Z = 1 se (A) = byte;
CPI byte Z = 0 se (A) byte 2
Para a execução de CMP reg, (A) é copiado para o registrador TMP. Então a ULA
faz (TMP) – (reg), afetando o flag Z.
Por isso, se (A) = (reg), então Z=1, e se (A) (reg), então Z=0. Como é usado o
registrador TMP, a instrução CMP não afeta o conteúdo do acumulador ou de reg.
A instrução CMP, usada com uma instrução JZ, permite controlar laços de uma nova
maneira (com o contador crescendo).
A CPI compara o byte imediato com o byte do acumulador setando o flag de zero se
eles forem iguais ou zerando o flag de zero se eles forem diferentes.
Exercício 3
Escreva um programa para executar um loop
255 vezes baseado nas instruções de
comparação e incremento.
Instruçõesde empilhamento
Instruções de desempilhamento
PSW = (A)(F)
Exemplo:
dados endereços POP B :
(C) 25H;
(SP) 20FBH;
(B) 9AH;
(SP) 20FCH.
SP 25H 20FAH
(BC) = 9A25H
9AH 20FBH
78H 20FCH
POP PSW :
56H 20FDH
(AF) = 5678H
34H 20FEH
12H 20FFH POP H:
(HL) = 1234H
UFPA - Prof. Adônis Leal
(SP) = 2100H
Chamadas e retornos de sub-rotinas
CALL provoca o
Endereço Instrução empilhamento do endereço da
2000H LXI SP,FFFFH
próxima instrução (endereço
2001H
2002H de retorno). Então o PC é
2003H CALL 8050H carregado com 8050H e a
2004H execução vai para a sub-
2005H rotina.
2006H MVI A,0EH
... ...
20FFH HLT
... ...
... ...
8050H ...
... ...
8059H RET
UFPA - Prof. Adônis Leal
Chamadas e retornos de sub-rotinas