Hola como va eso. Espero que me podais ayudar con lo siguiente.
Necesito dividir 16/16 bits y de la pagina de microchip tengo unos pdf en los que vienen varias operaciones.He cogido algunas de ellas como la de multiplicar 16x16 bits y parece que va bien.El problema me ha surgido al "adaptar" la de division de 16/16, o lo he hecho mal o es que la comprobación la hago mal, el caso es que el resultado de mi calculadora y el que da el programa no es el mismo. Estoy usando un 16f876 y el programa adaptado seria el siguiente:
;DIVISION 16/16 BITS La salida la da en DIVIDENDOH(parte baja) DIVIDENDOL(parte alta)
DIV1616 CLRF RESTOL
CLRF RESTOH
MOVLW 0x10
MOVWF LOOPCOUNT
LOOPU1616 clrwdt
RLF DIVIDENDOL,W
RLF RESTOH,1
RLF RESTOL,1
MOVF DIVISORH,W
SUBWF RESTOH,1
MOVF DIVISORL,W
BTFSS STATUS,C
INCFSZ DIVISORL,W
SUBWF RESTOL,1
BTFSC STATUS,C
GOTO UOK66LL
MOVF DIVISORH,W
ADDWF RESTOH,1
MOVF DIVISORL,W
BTFSC STATUS,C
INCFSZ DIVISORL,W
ADDWF RESTOL,1
BCF STATUS,C
UOK66LL RLF DIVIDENDOH,1
RLF DIVIDENDOL,1
DECFSZ LOOPCOUNT,1
GOTO LOOPU1616
return
Previamente tengo definido DIVIDENDOh,...etc.
¿donde lo estoy haciendo mal?
Bueno, muchas gracias por vuestro tiempo y si necesitais alguna aclaración os la dare.