Escolar Documentos
Profissional Documentos
Cultura Documentos
AULA_15
ARQUITETURA DE COMPUTADORES
CONDIÇÃO INICIAL
AH AL BH BL CH CL DH DL SP SI DI
X BASE BASE
A DE Y DE X
C STRCPY:
PUSH AX
COPIA DE STRING [ES:DI] <- [DS:SI]
SUB AL,AL DI <- DI + 1
VOID STRCPY( CHAR X[ ], CHAR Y[ ])
VOLTA: SI <- SI + 1
{ MOV AH,[SI]
INT I;
≠ CMP AH,AL
I=0; JP Z FIM
AX BX CH CL DH DL SP SI DI
J BASE DO VETOR TEMP K I
A
C
WHILE (SAVE[I] = = K)
I = I + J;
ARQUITETURA DE COMPUTADORES
A
C
SWAP ( INT V[ ], INT K )
{
INT TEMP;
TEMP = V[K]
V[K] = V[K +1]
V[K+1] = TEMP;
}
EXERCICIO 27 – CONT. ARQUITETURA DE COMPUTADORES
3. “COMPILE” A FUNÇÃO NUMERO DE ELEMENTOS DO VETOR
(NUMERO POSITIVO SEM SINAL)
CONDIÇÃO INICIAL
AH AL BX CX DH DL SP SI DI
TEMP BASE DO VETOR N I J
C A
16 +1/-1
RD DADOS
CS RASC PC FIFO
UNID. DE #RP (LEIT. PILHA)
BIU B. 1
#WP (ESCR. PILHA)
CONTROLE F (PILHA CHEIA)
E (PILHA VAZIA)
N3(NO DE BYTES
B. 1 X16 N2 NA
+ N1 PILHA)
16 RASC1
20 N0
DS ES SS T3 B.END
R.END
EU B. 2 16
B.DADOS 8 RASC2
SP SI DI
=,
+1, B. 5
-1
AX BX CX DX T1 T2 IR
FZ 8
ALU
FC B. 3
20 BITS B. 4 8
R.DADOS
16 BITS
8 BITS RD
UNID. DE CONTROLE WR
1 BIT
ARQUITETURA DE COMPUTADORES
ESPAÇO ENDEREÇAVEL
1 M BYTES
SEGMENTO DE
64K BYTES
TIPOS DE SEGMENTOS
CODIGO PILHA DADOS EXTRA DE DADOS
CS X 16 SS X 16 DS X 16 ES X 16
OFFSET NO SEGMENTO
CODIGO PILHA DADOS EXTRA DE DADOS
IP SP BX DI DI
BP SI DESL
POSSIBILIDADES:
[BX], [SI], [DI], [DESL]
[BX] [SI], [BX] [DI], [BX] [DESL]
[SI] [DESL], [DI] [DESL]
[BX] [SI] [DESL], [BX] [DI] [DESL]
ARQUITETURA DE COMPUTADORES
RELEMBRANDO...FLAGS DE STATUS
C
O
ALU
A
Z
S
P
ARQUITETURA DE COMPUTADORES
16 BITS
AX BX CX DX 8 BITS
H L H L H L H L 16 BITS
BP SP IP SI DI
CS DS SS ES 16 BITS
ARQUITETURA DE COMPUTADORES
D =0 E MOVSB
T TRAP
D =1 E MOVSB
[ES:DI] <- [DS:SI]
DI <- DI - 1
SI <- SI - 1
ARQUITETURA DE COMPUTADORES
DEFINE A INSTRUÇÃO
FORMATO DAS INSTRUÇÕES
DEFINE OS OPERANDOS
1 BYTE
0
CODIGO DA INSTRUÇÃO
DADO IMEDIATO
ARQUITETURA DE COMPUTADORES
ACESSO A MEMORIA
FORMATO DAS INSTRUÇÕES
ADD AL,CL
20 BYTE BYTE DE ENDEREÇAMENTO INSTR OP1, OP2
MOV AL,BL MOV BL,AL MOV AX,BX MOV [BX][03],AL MOV AL,[BX][089A]
EXERCICIO 28 -SOL
ARQUITETURA DE COMPUTADORES
SABENDO QUE O CAMPO CODIGO DA INSTRUÇÃO MOV É 100010, QUAIS OS CODIGOS DE
MAQUINA DAS INSTRUÇÕES ABAIXO?
MOV AL,BL MOV BL,AL MOV AX,BX MOV [BX][03],AL MOV AL,[BX][089A]
10001000 10001010 10001000 10001010 10001001 10001011 10001000 10001010
88 8A 88 8A 89 8B 88 00001000
D8 C3 C3 D8 D8 C3 47 8A
03 87
9A
08
EM HEXADECIMAL
ARQUITETURA DE COMPUTADORES
DEBUG – DEPURADOR SIMPLES
COMANDOS
Q SAIR DO DEBUG
R EXIBIR E ALTERAR CONTEUDO DE REGISTRADOR
A INSERIR INSTRUÇÕES EM ASSEMBLY NA MEMORIA
D LISTAR END´s DE MEM. E RESPECTIVOS CONTEUDOS
U TRANSFORMA COD. DE MAQUINA EM ASSEMBLY
E ENTRADA DE INSTRUÇÕES OU DADOS EM HEXADECIMAL
T EXECUÇÃO PASSO A PASSO E EXIBIÇÃO DOS REG´s
G EXECUÇÃO ATÉ UM PONTO DE PARADA E EXIBIÇÃO
ARQUITETURA DE COMPUTADORES
COMANDO R
INSTRUÇÃO
COD. MAQUINA
ASSEMBLY
END DO DADO
ARQUITETURA DE COMPUTADORES
IP :0100
COMANDO A
ARQUITETURA DE COMPUTADORES
COMANDO D
ARQUITETURA DE COMPUTADORES
COMANDO U
ARQUITETURA DE COMPUTADORES
COMANDO E
ARQUITETURA DE COMPUTADORES
COMANDO T
ARQUITETURA DE COMPUTADORES
COMANDO G
ARQUITETURA DE COMPUTADORES
143 STI
144 CLI
145 LAHF
146 SAHF
147 IN REG,PORTA
148 IN REG, DX
EXERCICIO 29
1. FAÇA UM PROGRAMA PARA SOMAR 2 NUMEROS DE 16 BITS, UM
ARMAZENADO A PARTIR DO ENDEREÇO 0020:0A00 E OUTRO A
PARTIR DO ENDEREÇO 0040:0AE1.
2. FAÇA UM PROGRAMA PARA VERIFICAR SE O BIT 3 DO ENDEREÇO DE
MEMORIA OOO4:5271 ESTÁ EM NIVEL 1 OU EM NIVEL 0
3. FAÇA UM PROGRAMA PARA SOMAR OS CONTEUDOS DOS ENDEREÇOS
DE MEMORIA 0020:8012, 0020:8013, 0020:8014, 0020:8015,
LEVANDO EM CONTA APENAS OS 8 BITS MENOS SIGNIFICATIVOS DA
SOMA. O RESULTADO DEVE SER ARMAZENADO EM COMPLEMENTO A
2 NO ENDEREÇO 0020:8016.
4. FAÇA UM PROGRAMA PARA MULTIPLICAR 2 NUMEROS SEM SINAL DE
8 BITS, UM ARMAZENADO A PARTIR DO ENDEREÇO 0140:CC00 E
OUTRO APARTIR DO ENDEREÇO 0140:CD01. O RESULTADO DEVE SER
ARMAZENADO NOS ENDEREÇOS 0140:CE01 E 0140:CE02.
O PROGRAMA DEVE USAR O ALGORITMO DE SOMAS SUCESSIVAS E O
RESULTADO PARCIAL DEVE SER ARMAZENADO NOS ENDEREÇOS
0230:0401 E 0230:0402.