Professional Documents
Culture Documents
**
; UNIVERSIDAD MAYOR DE SAN ANDRES
; FACULTAD DE INGENIERIA
; CARRERA DE INGENIERIA ELECTRONICA
; ETN 801 - MICROPROCESADORES
; ******************************************************************************
**
; Programa: Multiplicacion de 2 bytes por 2 bytes, usando
;
desplazamiento a la izquierda
; Procesador : 6800
; Univ. Ren Alonzo Choque Saire
; 19/09/05
; ******************************************************************************
**
; **************
**
DATOS
Prod
.dseg
.org
.byte
.byte
.byte
.byte
.block
AuxCando
AuxCador
cont
.block 4
.block 2
.block 1
MCando
MCador
0h
0
2
0
4
4
********************************
;Multiplicando
;Multiplicador
;Producto
;Multiplicando Auxiliar
;Multiplicador Auxiliar
;Contador de trabajo
; **************
PROGRAMA
*
.cseg
;INICIAR VARIABLES
ldab
#8
ldx
#Prod - 1
;Ciclo de Borrado
Borrar:
inx
clr
0,x
********************************
decb
bne
Borrar
ldx
stx
MCando
AuxCando + 2
; Transfiriendo Multiplicando
ldx
stx
MCador
AuxCador
;Transfiriendo Multiplicador
ldaa
staa
#16
cont
;ANALIZAR BITS
Continuar:
clc
;CY = 0
ror
AuxCador
ror
AuxCador + 1
;
Desicion Bit = 0 o 1
bcc
Bit0
Si bit es igual a 1
;ACTUALIZAR PRODUCTO
ldab
ldx
clc
;Ciclo
Ciclo0:
dex
ldaa
adca
staa
#4
#Prod + 4
0,x
4,x
0,x
decb
bne
Ciclo0
;DESPLAZAR MULTIPLICANDO Auxiliar
Bit0:
clc
rol
AuxCando+3
rol
AuxCando+2
rol
AuxCando+1
rol
AuxCando
; ULTIMO PROCESO ?
dec
bne
wai
.end
cont
Continuar