I am a rookie in assembly programming and I am currently doing a project using a temperature sensor on MPLAB and it's values to be displayed on a LCD.
In order to convert the raw values (0 to 255 based on the output voltage) from the sensor to the LCD I need to do an affine function (8x+1000)/100. But here is the problem, since my microprocessor is in 8 bit, I cannot divide by 100.
Here is the code :
    
    MOVLW d'50'
    MOVWF CAN_Val_Brut;----------------------------------MULTIPLICATION
    clrf CAN_Val_Dec
    clrf CAN_Val_Decp1
    movlw .8
    movwf mpy_cnt
    movlw .8
    bcf STATUS,C
mpy rrf CAN_Val_Brut,f
    btfsc STATUS,C
    addwf CAN_Val_Decp1,f
    rrf CAN_Val_Decp1,f
    rrf CAN_Val_Dec,f
    decfsz mpy_cnt,f
    goto mpy        
;-------------------------------------------------------------ADDITION
;------Je met 1000 dans a et aplus1----
movlw .3;00000011
movwf aplus1
movlw .232;11101000
movwf a
movf a,w
addwf CAN_Val_Dec,f
btfsc STATUS,C
incf CAN_Val_Decp1,f
movf aplus1,w
addwf CAN_Val_Decp1,f
;-----------------------------------------------DIVISION
    movlw .8
    movwf dvy_cnt
    movlw .100
    bcf STATUS,C
dvy 
    btfsc STATUS,C
    addwf CAN_Val_Decp1,f
    rlf CAN_Val_Decp1,f
    rlf CAN_Val_Dec,f
    decfsz dvy_cnt,f
    goto dvy
If someone have a code for 2x8bits division I am glad to take a look :)
Thank you for your help !
 
     
    