Practica3_MM

Páginas: 6 (1338 palabras) Publicado: 12 de octubre de 2015
CENTRO DE ENSEÑANZA TECNICA INDUSTRIAL

Ing. Mecatrónica
Nivel: 6 Grupo: F
Practica # 3
MULTIPLICACION

Alumno: De La Cruz Arciniega Omar
05/10/15
Registro: 13110073
OBJETIVO:
En esta práctica repasaremos el uso básico de los registros del CPU, los cuales se trabajaran, A, IX, SP, PC. Estudiaremos cada uno de los registros para alcanzar a tener una mayor comprensión al momento de ejecutar lasinstrucciones aritméticas y lógicas las cuales se ejecutaran mediante las instrucciones del microcontrolador HCS08 mediante el lenguaje ensamblador, adaptándonos cada vez más al software codewarior con cual seguiremos trabajando en este curso.
Planteamiento:
Desarrollar MUL a 16 bits, se dan los datos M60, M61 que multiplican a M70, M71 y da como resultado, M80:M81:M82:M83
MUL: X:A  A*X16(bits) * 8(bits)
Donde:
X- Contendrá el MSB del producto
A- Contiene el LSB del producto
EJEMPLO:
CARRY
0E
0C



CARRY

8A
7C


X


=
M60:M61
0
0
8C
7E

M70:M71
0
0
1A
FC

M87:M88:M89
0
8A
4C
08

M84:M85:M86
0E
44
CC


M80:M81:M82:M83
0E
CF
18
08


Definición:
Consiste en realizar 2 multiplicaciones, multiplicando primero a M71 por M60:M61 de manera que cada carry obtenido en estamultiplicación lo guardemos en el acumulador para poder sumarlo al siguiente valor obtenido de dicha operación, de manera que obtengamos su resultado en M87:M88:M89, de la misma manera se ejecuta la segunda operación M70 por M60:M61, para obtener su valor en M84:M85:M86, con el objetivo de sumar ambos resultados de forma de llevar el carry siempre cargándolo para cualquier suma siguiente esto sepuede emplear con el conocimiento adquirido en la práctica anterior, de forma que obtengamos nuestro resultado final de dicha multiplicación de 16 bits * 16 bits ((2bytes)(2bytes)).
Consiste en realizar 2 sumas las cuales se van realizando de byte + byte, manejando al mismo tiempo los carry’s que se van generando guardándoles en otro byte, para hacer uso de estos y tener los resultadoscorrectos esperados esto mediante la concatenación.
CA

1



+
=
M87:M88:M89
0
8A
4C
08

M84:M85:M86
0E
44
CC


RT1
0E
CF
18
08


Una vez obtenido el resultado deseado de la multiplicación de los datos ingresados, tomando en cuenta que la suma de carry`s van guardados en un byte independiente, y usando la concatenación se representa el resultado mediante M80:M81:M82:M83 en este caso.
EXPLICACIONALGORITMICA:
1.- Ya que los registros PC, H, X están en su estado esperado y el SP este en su estado inicial podemos comenzar con ingresar los valores BCD en las localidades en donde se especifica trabajaremos.
2.- Ingresamos valores BCD a las localidades en donde se vaya a trabajar en este caso de M60, M61, M70 y M71.
3.- cargamos al acumulador nuestro primer dato (M61), y después a nuestro registro X(M71) y lo multiplicamos obteniendo el primer valor para guardar en M89, y almacenando al carry en M88, cargando después al acumulador el M60, y al registro X el M71, almacenando de nuevo el valor en M88, y sumando además el carry anterior si es que lo hubo, teniendo nuestros primeros valores en M89:M88, cabe mencionar que la ultima suma se toma en cuenta si el valor M88 produce carry por la suma,si es así se almacena en STX para la siguiente suma, obteniendo como resultado final al M87:M88:M89
4.- se realiza la misma operación que en el paso numero 3 pero ahora multiplicando al M60 por M70:M71, obteniendo como resultado final al M84:M85:M86
5.- Una vez obtenido los valores finales de cada multiplicación se hace la suma de estos en el orden correcto es decir de la siguiente manera:
CA

1+
=
M87:M88:M89
0
8A
4C
08

M84:M85:M86
0E
44
CC


RT1
0E
CF
18
08




CODIGO:
Decoder V-5.0.28 Build 12319, Nov 15 2012
Options: -ArgFileSources/main_asm.args -EnvOBJPATH=. -EnvTEXTPATH=. -OSources\main_asm.lst -ViewHidden -WmsgFob"%f%e:%l:%k:%d %m\n"
Decoding File: 'Sources\main_asm.obj'
File format: ELF/DWARF
No relocation section found for this code section '_ORG00002'

DISASSEMBLY OF:...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS