Documente Academic
Documente Profesional
Documente Cultură
Implementao de algoritmos
Ao Y
Memria de dados
Ao X
Dado:
...
Ao W
Endereo:
E+1
E+2
E+3
...
Interao:
N+1
N+2
N+3
Ao Z
ELT043 - Microcontroladores
Prof. Rodrigo
CD. OPE
OPERANDO
ELT043 - Microcontroladores
Prof. Rodrigo
Endereamento indexado
CD. OPE
DESLOCAMENTO
ndice base
+
ENDEREO EFETIVO
Memria
OPERANDO
ELT043 - Microcontroladores
Prof. Rodrigo
CD. OPE
DES. de 3, 5, 9 ou 16 bits
ENDEREO EFETIVO
X , Y , SP ou PC
Memria
OPERANDO
ELT043 - Microcontroladores
Prof. Rodrigo
INSTRUO
SP
PC
LDAA 0, X
LDAB $FF, Y
STAB -8, Y
A M[ X+0 ]
A M[ $1000 ]
A M[ Y+$FF ]
A M[ $20FF ]
M[ Y - 8 ] B
M[ $1FF8 ] B
ELT043 - Microcontroladores
Prof. Rodrigo
INSTRUO
SP
PC
LDAA $1234, X
LDAB $81FF, Y
STAB $FF00, Y
A M[ X+ $1234 ]
A M[ $2234 ]
A M[ Y+$81FF ]
A M[ $A1FF ]
M[ Y+$FF00 ] B
M[ $1F00 ] B
ELT043 - Microcontroladores
Prof. Rodrigo
Ps-incremento/decremento de 3 bits
INSTRUO
SP
LDAA 1, X+
LDAB 8, Y-
STAB %101, Y+
A M[ $1000 ]
X X + 1 = $1001
A M[ $2000 ]
Y Y - 8 = $1FF8
M[ $2000 ] B
Y Y + 5 = $2005
ELT043 - Microcontroladores
Prof. Rodrigo
Pr-incremento/decremento de 3 bits
INSTRUO
SP
LDAA 1, +X
LDAB 8, -Y
STAB %101, +Y
X X + 1 = $1001
A M[ $1001 ]
Y Y - 8 = $1FF8
A M[ $1FF8 ]
Y Y + 5 = $2005
M[ $2005 ] B
ELT043 - Microcontroladores
Prof. Rodrigo
INSTRUO
Acumulador ,
BASE
SP
PC
LDAA B, X
LDAB A, Y
STAB D, Y
A M[ $1000+$20 ]
A M[ $1020 ]
A M[ $2000 + $10 ]
A M[ $2010 ]
M[ $1020+$2000] B
M[ $3020 ] B
ELT043 - Microcontroladores
Prof. Rodrigo
INSTRUO
SP
PC
LDAA [ 10, X ]
ELT043 - Microcontroladores
Prof. Rodrigo
INSTRUO
D , BASE
SP
PC
LDAA [ D, SP ]
ELT043 - Microcontroladores
Prof. Rodrigo
LD (X/Y/S) - Carregamento
ST(X/Y/S) - Armazenamento
IN(X/Y/S) Incremento
T(SX/SY/XS/YS) - Transferncia
DE (X/Y/S) Decremento
ELT043 - Microcontroladores
Prof. Rodrigo
X M:M+1
Y M:M+1
S M:M+1
V
0
Imediato
Direto
Estendido
Indexado
LDS #$1234
LDX $12
LDY $1234
LDS 0, X
SP $1234
X M[ $0012 ]:
M[ $0013 ]
Y M[ $1234 ]:
M[ $1235 ]
SP M[ X ]:
M[X+1]
ELT043 - Microcontroladores
Prof. Rodrigo
M:M+1 X
M:M+1 Y
M:M+1 S
V
0
Direto
Estendido
Indexado
STX $12
STY $1234
STS 0, Y
M[$0012]:M[$0013] X
M[$1234]:M[$1234] Y
M[ Y ]:M[Y+1] SP
ELT043 - Microcontroladores
Prof. Rodrigo
XS
XY
SX
SY
Inerente
TSX
TSX
XS
XS
ELT043 - Microcontroladores
Prof. Rodrigo
XGDX
XGDY
X D
Y D
Inerente
XGDY
YD
ELT043 - Microcontroladores
Prof. Rodrigo
INX
INY
XX+1
YY+1
INS
SP SP + 1
Inerente
INX
XX+1
ELT043 - Microcontroladores
Prof. Rodrigo
XX-1
YY1
DECS
SP SP - 1
Inerente
DES
SP SP - 1
ELT043 - Microcontroladores
Prof. Rodrigo
Exemplo 1
ELT043 - Microcontroladores
Prof. Rodrigo
A A + M[ X ]
Armazenar o
resultado
; Valores a somar
VR:
ORG $1020
DS.B 1
; Resultado
ORG $4000
CLRA
LDX #V
LDAB #10
; A 0
; X $1000
; B 10
ADDA 0, X
INX
DECB
BNE Somar
STAA VR
; A A + M[ X ]
;XX+1
;BB-1
; Se B = 0, parar a soma
; M[$1020] Soma
Inicio:
X X+1, B B - 1
B=0?
V:
ORG $1000
DS.B 10
No
Somar:
ORG $FFFE
DC.W Inicio
END
ELT043 - Microcontroladores
Prof. Rodrigo
A A + M[ Y + B ]
Armazenar o
resultado
; Valores a somar
VR:
ORG $1020
DS.B 1
; Resultado
ORG $4000
CLRA
LDY #V
LDAB #9
;A 0
; Y $1000
;B9
ADDA B, Y
DECB
BPL Somar
STAA VR
; A A + M[ Y + B ]
;BB-1
; Se B = 0, parar a soma
; M[$1020] Soma
Inicio:
BB-1
B<0?
V:
ORG $1000
DS.B 10
No
Somar:
ORG $FFFE
DC.W Inicio
END
ELT043 - Microcontroladores
Prof. Rodrigo
Exemplo 2
ELT043 - Microcontroladores
Prof. Rodrigo
A, B 0, X $1000 e Y 10
Inicio:
ORG $4000
CLRA
CLRB
LDX #$1000
LDY #10
; A, B 0
; X $1000
; Y 10
YY-1
Somar:
Y=0?
No
ADDB 1, X+
ADCA #0
DEY
BNE Somar
STD $1030
; B B + M[ X ] e, depois, X X + 1
;AA+ 0 + C
;YY-1
; Se Y = 0, parar a soma
; M[$1030]:M[$1031] A:B (Soma)
ORG $FFFE
DC.W Inicio
Armazenar o
resultado
ELT043 - Microcontroladores
END
Prof. Rodrigo
HCS12 | Fim
Obrigado
ELT043 - Microcontroladores
Prof. Rodrigo