# Multiplicación y División en Assembler con los Microcontroladores PIC 16F87X



## contrerasqm (Ago 5, 2010)

Hola a todos
Alguien me podria enviar ejemplos de Multiplicación y División en Assembler con los Microcontroladores PIC 16F87X.
Gracias


----------



## Scooter (Ago 5, 2010)

¿No tienen esas instrucciones?

Me contesto a mi mismo, se ve que no.

¡¡Vale que sea barato pero un micro que no multiplique... que estamos en el sXXI!! (no me he podido aguantar, soy fan del 8052)


Pues ya sabes:
Opción A:
5x7 = sumar cinco veces siete osea que haces un bucle que sume tantas veces el otro número.

Opción B:
Para los casos particulares de multiplicar por 2 o potencia de 2 se rota a la izquierda.

Opción B1:
Un mix; rotar parte y el resto sumar hasta llegar a lo deseado, así para multiplicar por 7 se rota dos veces (multiplicar por 4) y se suma el otro número tres veces.


Todo esto para 8 bits, si es para 16 o coma flotante, te puedes imaginar la fiesta....


----------



## txarlie2010 (Ago 5, 2010)

*Division:*
Restas sucesivas, incrementas un contador cada vez que pueda realizar la resta y finalizas cuando el residuo sea mayor al dividendo

Ejemplo: 48 dividido 10

48-10= 38, 38 mayor que 10, contador=1 y sigues restando 
38-10= 28, 28 mayor que 10, contador=2 y sigues restando
28-10= 18, 18 mayor que 10, contador=3 y sigues restando
18-10= 8 , 8 menor que 10, contador =4 dejas de restar

Resultado 48/10 = 4.8 que para nuestro ejemplo seria contador= 4 y residuo=8

Esta operacion la realice hasta 16 bits y creo que se puede con mas.


----------



## sneyder (Ago 20, 2013)

como hago si la divicion que quiero hacer es entre un numero mucho mayor...
ej:
20/98=0.20...
...???
como aria en este caso...


----------



## Scooter (Ago 20, 2013)

Se haría en coma flotante


----------

