SoloCodigo
		Programación Específica => Microcontroladores => Mensaje iniciado por: Meta en Jueves 10 de Julio de 2008, 20:46
		
			
			- 
				Hola:
 
 Me imagino que hacer una división en ASM para el pic 16F84A es un poco engorroso ya que hay que hasta guardar el resto en una variable, y el resultado en otra.
 
 15 / 3 = 5 (Resto es igual a 0).
 
 ¿Alguien sabe hacer o poner un ejemplo en ASM sobre una división con comas?
 
 Ejemplo:
 
 0.15 / 3 = 0.05
 
 ¿A qué ya es otra realidad?
 
 Un cordial saludos.
- 
				Hola, ahora mismo no recuerdo lo del resto y esos entresijos, pero si te puedo decir que al igual que multiplicar por 5 es sumar la cifra 5 veces (sencillo en un micro) dividir es lo mismo pero restando. Mira por la web a ver si encuentras mas informacion.
 
 Un saludo.
- 
				HOLA:
 
 la division  entera es  muy simple , aqui transcribo el codigo que lo hace, ahora para hacer una divion de numeros reales ya que el pic no lo permite deberias implementar los algoritmos de almacenamiento de SIGNO/EXPONENTE /MANTISA, si buscas en la web hay muy buenos paper que lo explican.
 La otra solucion es utilizar un micro motorola por ejemplo que ya tienen implementadas las operacions con numeros reales. Amo al PIC pero la verdad en muchos casos se queda corto.
 
 saludos
 
 OSCAR
 
 listp=16f84
 
 estado equ 0x03
 dividendo equ 0x0c
 divisor equ 0x0d
 div equ 0x0e
 aux equ 0x0f
 
 movlw 0x08
 movwf dividendo
 movlw 0x02
 movwf divisor
 clrf div
 clrf aux
 
 
 divide
 movf dividendo,0      ; copia dividendo a aux, para no modificar dividendo
 movwf aux
 divide1
 movf divisor,0            ; resta aux-divisor y lo almacena en aux
 subwf aux,1
 incf div,1
 movf divisor,0       ; compara divisor > aux
 subwf aux,0
 btfsc estado,0
 goto divide1
 end
- 
				Gracias por el ejemplo.