Académique Documents
Professionnel Documents
Culture Documents
HCS12 | Histrico
Programao de microprocessadores
Atividade a ser
executada
Tarefas
individuais
Atividade a ser
executada
1
...
...
criao do roteiro
ELT043 - Microcontroladores
Prof. Rodrigo
HCS12 | Histrico
Programao de microprocessadores
Atividade a ser
executada
Tarefas
individuais
1
2
...
...
Nmeros binrios
criao do roteiro
ELT043 - Microcontroladores
Prof. Rodrigo
HCS12 | Histrico
Programao de microprocessadores
Roteiro de instrues
Nmeros binrios
(modo da mquina)
10101
11101
....
cdigo de mquina
ELT043 - Microcontroladores
Instrues textuais
(rtulos)
ROT1
ROT2
....
Linguagem de montagem
Construes complexas
(modo humano)
if
else
for/while
...
Linguagem de programao
(C, C++, Pascal, etc)
Prof. Rodrigo
HCS12 | Histrico
Programao de microprocessadores
Roteiro de instrues
arquivo-fonte
Cdigo de
mquina
montagem
Assembly
(baixo nvel)
asm
Linguagem
de alto nvel
compilao
nvel de abstrao
conhecimento da arquitetura do P
ELT043 - Microcontroladores
Prof. Rodrigo
Exemplo
Soma de duas variveis no HCS12
M[ $0003 ] = M[ $0001 ] + M[ $0002 ]
Linguagem
de alto nvel
char x, y, z;
z = x + y;
compilao
Memria
$0001
$0002
$0003
ELT043 - Microcontroladores
Cdigo de
mquina
Assembly
(baixo nvel)
LDAA $01
LDAB $02
ABA
STAA $03
montagem
$96
$01
$D6
$02
$18
$06
$5B
$03
Prof. Rodrigo
Estrutura de
programas
ELT043 - Microcontroladores
Representao
numrica
Diretivas de
compilao
Diretivas de
instruo
Modos de
endereamento
Prof. Rodrigo
Estrutura de programas
01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
XDEF Inicio
ABSENTRY Inicio
ROMInicio :
RAMInicio:
EQU $4000
EQU $0000
Declarao de constantes
Contador :
ORG RAMInicio
DS.B 1 ; Varivel
Declarao de variveis
ORG ROMInicio
Inicio:
LDS #RAMInicio+10
ABA
STAB $03
END
ORG $FFFE
DC.W Inicio
Rtulos
ELT043 - Microcontroladores
Diretivas de instrues
(cdigo de mquina)
Diretivas
Prof. Rodrigo
Representao numrica
Prefixo
Base numrica
nenhum
decimal
LDAA 255
hexadecimal
STAA $F3A1
octal
LDAB @37
binria
%10101010, %11111111
STAB %01101001
ELT043 - Microcontroladores
Exemplos
Prof. Rodrigo
rtulo *
declarao
parmetro
comentrio *
ELT043 - Microcontroladores
opcional
Prof. Rodrigo
CONST_A:
INICIO:
SUBTRAIR:
ELT043 - Microcontroladores
declarao
parmetro
comentrio *
ORG
$0100
EQU
$33
LDAA
%0110
; A
LDAB
10
; B
10
ABA
; A
A + B = 10 + 6
DECA
; A
A -1 = 16 1 = 15
END
; Fim do programa
Prof. Rodrigo
Diretivas de compilao
Diretiva
ORG POS
END
DC VALOR
DS N
ELT043 - Microcontroladores
Finalidade
Exemplos
ORG $0100
Parar a montagem.
END
Prof. Rodrigo
EQU VALOR
FILL VALOR, N
FCC STRING
ELT043 - Microcontroladores
Finalidade
Exemplos
FILL $4, 20
FCC MENSAGEM
Prof. Rodrigo
Modos de endereamento
Prefixo/sufixo
Modo
Exemplos
nenhum
inerente
imediato
nenhum
direto
nenhum
estendido
nenhum
relativo
,x
indexado
ELT043 - Microcontroladores
Prof. Rodrigo
Diretivas de instrues
ELT043 - Microcontroladores
Prof. Rodrigo
Diretivas de instrues
Exemplos
rtulo *
INICIO:
REPETIR:
declarao
comentrio *
Cd. mquina
$FEF0AB
LDX
#$F0AB
; IX
$F0AB, imediato
LDAB
#$20
; B
$C620
LDAB
$20
; B
$D620
DECA
JSR
CHAMAR:
parmetro
$43
$DFA9
INCB
CMPA
ELT043 - Microcontroladores
#$0A
; PC
$DFA9, estendido
$16DFA9
; modo inerente
$52
$810A
Prof. Rodrigo
Espao de
endereamento
4000h a 43FFh
1000h a 107Fh
ELT043 - Microcontroladores
Programa
1024 bytes
Dados
128 bytes
01:
02:
03:
04: ROMInicio :
05: RAMInicio:
06:
07:
08: VA:
09: VB:
10: VR:
11:
12:
13: Inicio:
15:
16
17:
18:
19:
20:
21:
22:
23:
XDEF Inicio
ABSENTRY Inicio
EQU $4000
EQU $1000
ORG RAMInicio
DC.B
02 ; A
DC.B
03 ; B
DS.B
1 ;R
ORG ROMInicio
LDAA VA
LDAB VB
ABA
STAB VR
ORG $FFFE
DC.W Inicio
END
Prof. Rodrigo
Execuo de instrues
Ciclo de execuo
P
Tempo de execuo
ELT043 - Microcontroladores
Prof. Rodrigo
Execuo de instrues:
Ciclo de execuo
Mudana de contexto
Ciclo de execuo
Atualizao do PC
ELT043 - Microcontroladores
Prof. Rodrigo
Incio
PC
$4000
XDEF Inicio
ABSENTRY Inicio
VA:
VB:
VR:
Inicio:
ORG $1000
DC.B 02 ; A
DC.B 03 ; B
DS.B 1 ; R
ORG
LDAA
LDAB
ABA
STAA
$4000
VA
VB
VR
$1000: 02
$1001: 03
$1002: ??
(VA)
(VB)
(VR)
$4000:
$4003:
$4006:
$4008:
(LDAA VA)
(LDAB VB)
(ABA)
(STAA VR)
861000
F61001
1806
7A1002
??:??
CC
11010000
Aps LDAA VA
PC
A
$4003
02
Aps LDAB VB
PC
A
ELT043 - Microcontroladores
03
02:?
02:03
CC
11010000
CC
11010000
PC
A
END
Aps ABA
ORG $FFFE
DC.W Inicio
02
$4006
05
Aps STAA VR
$4008
B
03
PC
A
02
$400B
B
03
05:03
05:03
CC
11010000
CC
11010000
Prof. Rodrigo
Execuo de instrues:
Tempo de execuo
Texecuo =
ELT043 - Microcontroladores
1
fbarramento
CPI(I )
i
Prof. Rodrigo
XDEF Inicio
ABSENTRY Inicio
VA:
VB:
VR:
Inicio:
ORG $1000
DC.B 02 ; A
DC.B 03 ; B
DS.B 1 ; R
ORG
LDAA
LDAB
ABA
STAA
$4000
VA
VB
VR
ORG $FFFE
DC.W Inicio
CPI(I ) = 3 + 3 + 2 + 3 = 11
i
i
;
;
;
;
CPI de 3 ciclos
CPI de 3 ciclos
CPI de 2 ciclos
CPI de 3 ciclos
Texecuo =
11
fbarramento
END
ELT043 - Microcontroladores
Prof. Rodrigo
HCS12 | Fim
Obrigado
ELT043 - Microcontroladores
Prof. Rodrigo