ORGANIZAÇÃO E ARQUITETURA DE
COMPUTADORES I
Computador Cleópatra
Formato de Instrução e Codificação
prof. Dr. César Augusto M. Marcon
prof. Dr. Edson Ifarraguirre Moreno
2/7
Formato de Instrução e Codificação
Formato de Instrução
Tipo de instrução
Modo End. Não usado
I
I
I
I
E
E
0
0
Tipo de instrução
Código Mnemônico
000x
NOT
001x
STA
0100
LDA
0101
ADD
0110
OR
0111
AND
1000
JMP
1001
JC
1110
JV
1010
JN
1011
JZ
1100
JSR
1101
RTS
1111
HLT
Modos de endereçamento
Código
Mnemônico
00
IMEDIATO
01
DIRETO
10
INDIRETO
11
RELATIVO
Instrução e
operando
NOT
Exemplos
Codificação
Instrução
Operando
00h ou 10h
Não tem
LDA
#23
40h
17h
OR
nn
64h
85h (supondo 85h o endereço de nn)
ADD
var,I
58h
85h (supondo 85h o endereço de var)
JSR
fim,R
CCh
10 (supondo fim estar 10 bytes após JSR)
3/7
Exemplo de Assembly com Codificação
4/7
Exercícios
1. Fazer o código objeto do programa que segue e dizer qual a área de dados e
de código
Código Objeto
Código Objeto
Linha
Código
Dados
(hexadecimal)
(hexadecimal)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
LDA b
INI:
jz FIM
LDA a,i
ADD #3
STA a,i
LDA a
ADD #1
STA a
LDA b
ADD #-1
STA b
JMP INI
FIM:
HLT
a: DB #c
b: DB #07h
c: DB
DB
DB
DB
DB
DB
DB
#01h
#02h
#03h
#04h
#05h
#06h
#07h
5/7
Resposta de Exercícios
1. Fazer o código objeto do programa que segue e dizer qual a área de dados e
de código
Código Objeto
Código Objeto
Linha
Código
Dados
(hexadecimal)
(hexadecimal)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
LDA b
INI:
jz FIM
LDA a,i
ADD #3
STA a,i
LDA a
ADD #1
STA a
LDA b
ADD #-1
STA b
JMP INI
FIM:
HLT
44 1A
a: DB #c
1B
B4 18
b: DB #07h
07
48
50
28
44
50
24
44
50
24
84
c: DB
DB
DB
DB
DB
DB
DB
01
02
03
04
05
06
07
F0
19
03
19
19
01
19
1A
FF
1A
02
#01h
#02h
#03h
#04h
#05h
#06h
#07h
25 bytes de código
9 bytes de dados
6/7
Exercícios
2. Dado o código objeto da área de código (em hexadecimal) e a linguagem de
máquina da área de dados, preencha os campos faltantes
Dados
Código
Assembly
org #80h
a: db #05h
p: db #v
v: db #0, #0, #0, #0, #0
Endereços
Código objeto
40 82
50 05
00
50 01
54 81
B4 1D
44 80
28 81
44 80
50 03
24 80
44 81
50 01
24 81
84 00
F0
7/7
Resposta de Exercícios
Dados
Código
2. Dado o código objeto da área de código (em hexadecimal) e a linguagem de
máquina da área de dados, preencha os campos faltantes
Assembly
Inicio: lda #82
add #5
not
add #1
add p
jz Fim
lda a
sta p,i
lda a
add #3
sta a
lda p
add #1
sta p
jmp Inicio
Fim: hlt
org #80h
a: db #05h
p: db #v
v: db #0, #0, #0, #0, #0
Endereços
00 01
02 03
04
05 06
07 08
09 0A
0B 0C
0D 0E
0F 10
11 12
13 14
15 16
17 18
19 1A
1B 1C
1D
Código objeto
40 82
50 05
00
50 01
54 81
B4 1D
44 80
28 81
44 80
50 03
24 80
44 81
50 01
24 81
84 00
F0
80
81
82, 83, 84, 85, 86
05
82
00, 00, 00, 00, 00
Download

Formato de Instrucao e Codificacao (codigo objeto).