Beruflich Dokumente
Kultur Dokumente
20041005048
20041005055
DIGITALES III
PROFESOR: JULIAN CAMARGO
Anexo 2. CODIGO
INCLUDE 'MC68HC908AP16.inc'
COPD
EQU
ORG
X0
X1
X2
D0
D1
T1
T2
Cont
S5
S4
S3
S2
S1
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
060H
1
1
1
1
1
1
1
1
1
1
1
1
1
RESTA
LDA
SUB
X1
#9DH
BCS
CLC
S_5
RESTA: LDA X0
SUB #4EH
STA X0
INC Cont
LDA X1
SUB #20H
STA X1
INC Cont
JMP PRUEBA
S_5:
LDA X0
PSHA
PULH
LDA X1
LDX #64H
DIV
CLRH
DIV
STA X2
LDA
Cont
; Cargo en el acumuladaro X0
; Guardo en el acumulador en la pila
; Saco a H la pila
; Cargo X1 en el acumulador
; Cargo 100 en X
; Divido H:A/X
; Limpio registro H
; Cargo en X2 el resultado de la divisin
ADD
STA
X2
S5
REST_1: CLRH
LDA X2
LDX #64H
MUL
LDX #64H
MUL
STA T2
STX T1
; Multiplico X2*100
; Multiplico A*100 (A=X2*100)
; Guardo parte baja de la multiplicacin en T2
; Guardo parte alta de la multiplicacin en T1
LDA
SUB
STA
X1
T2
D1
BCS
LDA
SUB
STA
SALTO1
X0
T1
D0
SALTO1: BCC
LDA X0
DECA
STA X0
SUB T1
STA D0
; Resto X1-T2
; Cargo resultado en D1
; Resto X0-T1
; Cargo resultado de resta en D0
S_4
S_4:
LDA D0
PSHA
PULH
LDA D1
LDX #64H
DIV
CLRH
LDX #0AH
DIV
STA S4
digito)
REST_2: CLRH
LDA S4
LDX #0AH
MUL
LDX #64H
MUL
STA T2
STX T1
LDA
SUB
STA
AND
D1
T2
D1
#0FFH
BCS
LDA
SUB
STA
SALTO2
D0
T1
D0
SALTO2:
BCC
LDA
DECA
STA
SUB
STA
; A=X0-1
; Resto X0-1-T1
; D0=X0-1-T1
; Cargo en el acumuladaro D0
; Guardo en el acumulador en la pila
; Saco a H la pila
; Cargo D1 en el acumulador
; Cargo 100 en X
; Divido H:A/X
; Limpio registro H
; Cargo 10 en X
; Cargo en S4 el resultado de la divisin (que corresponde al segundo
; Limpio registro H
; Cargo 10 en X
; Multiplico S4*10
; Multiplico A*100 (A=S4*10)
; Guardo parte baja de la multiplicacin en T2
; Guardo parte alta de la multiplicacin en T1
; Resto D1-T2
; Cargo resultado en D1
; Salto si acarreo es igual a 1
; Resto D0-T1
; Cargo resultado de resta en D0
S_3
D0
; A=D0-1
D0
T1
D0
; Resto D0-1-T1
; D0=D0-1-T1
S_3:
LDA D0
PSHA
PULH
LDA D1
LDX #64H
DIV
STA S3
REST_3: CLRH
LDA S3
LDX #64H
MUL
STA T2
LDA
SUB
STA
S_2:
; Cargo en el acumuladaro D0
; Guardo en el acumulador en la pila
; Saco a H la pila
; Cargo D1 en el acumulador
; Cargo 100 en X
; Divido H:A/X
; Guardo resultado de la divisin en S3 (tercer digito)
; Limpio registro H
D1
T2
D1
CLRH
LDA D1
LDX #0AH
DIV
STA S2
REST_4: CLRH
LDX #0AH
LDA S2
MUL
STA
T2
LDA
SUB
STA
CLR
D1
T2
S1
Cont
ORG
FDB
0FFFEH
INICIO
; Vector de reset
CONCLUSIONES
Mediante el desarrollo del laboratorio se pudo enfatizar en la
manipulacin de de datos que se encuentren en la memoria RAM, del
microcontrolador, y la familiarizacin con el set de instrucciones del
mismo para el desarrollo de un problema especifico.
Se trabajo el acceso a registros propios del microcontrolador como lo
son el H, el X, el acumulador.
Tambin se encontr la facilidad de operacin que presenta en los
nmeros representados en hexadecimal mediante manipulaciones de
grupos de 8 bits (2 dgitos en hexadecimal), ya que los registros de
operacin as lo requieren para este microcontrolador especifico.
Se familiarizo con el uso del Code Warrior para la sntesis y compilacin
del programa.