2
« en: Martes 30 de Diciembre de 2008, 00:49 »
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