Ensamblador - Operacion con numeros binarios

 
Vista:

Operacion con numeros binarios

Publicado por Francisco (2 intervenciones) el 19/02/2008 18:51:32
Hola.. tengo el siguiente problema..pues necesito programar una funcion en un micro PIC 16F876A que haga lo siguiente:

Tomar un numero binario desde un registro de 8 bits, y que a la salida pueda ir obteniendo los digitos decimales, pero en binario (4 bits)...¿no se entendio? , un ejemplo entonces...

Si yo tengo en el registro, el numero 00101110 (correspondiente al decimal 46), tenga una salida de 4 bits que me represente primero el numero 4 en binario (0100), y despues el 6 en binario (0110)....parece simple, pero a mi se me ha echo un tanto complicado...por favor si me pueden ayudar se lo agradeceria..

En otras palabras, el micro debe ser capaz, a partir del numero que tenga en su registro, mostrar a la salida, el codigo binario de los digitos decimales que este registro representa, por separado.

Muchas gracias...

Francisco
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Operacion con numeros binarios

Publicado por MSH (120 intervenciones) el 20/02/2008 17:08:09
Saludos:

La forma más sencilla (y quizás ingenua) que se me ocurre es que en tu programa dividas entre 10 el número que tienes en tu registro.

El residuo representaría a las unidades y lo almacenas en una localidad de memoria

El cociente representa a las decenas y lo almacenas en otra localidad de memoria

De esta forma te quedan los números por separado y solo es cuestión de enviar hacia las salidas del micro el número de mayor orden (en este caso las decenas) y luego el valor de la unidad

Más ilustrativo como esto:

tienes el número 46 (00101110)
divides entre 10 (1010)

Tendrías un cociente de 4 (0100) mientras que tu residuo sería de 6 (0110)

Implementas una rutina para enviar el 4 y luego el 6
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Operacion con numeros binarios

Publicado por Francisco (2 intervenciones) el 12/03/2008 20:55:44
Se me ocurre lo siguiente:

Definir 3 variables:
C: centenas
D: decenas
U: unidades

Ademas definimos NUM: binario que deseamos separar

Si NUM<10:
C=0; D=0; U=0

Si NUM >= 10 & NUM<100
C=0; D=NUM/10 ; U=NUM mod 10

Si NUM>=100
C=(NUM/10)/10 ; D=(NUM/10) mod 10; U=NUM mod 10

Eso si, me podrian ayudar con la implementacion de las funciones division y modulo (mod) ??? O algun link donde las implementen en assembler...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Operacion con numeros binarios

Publicado por ERIKA  (1 intervención) el 16/02/2009 19:53:14
HOLA Y TENGO UNA PEQUEÑA PREGUNTA COMO SE ASE PARA SUMAR UN NUMERO BITANICO Q" SE ENTIENDA POR FAVOR, ESPERO SU RESPUESTA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar