el numero que quiero multiplicar es 0.196 (extraño??) la verdad es k si se puede hacer, un amigo lo hizo pero no lo puedo ubicar ( pk ya esta en su tesis) el me dio una pagina dnde se genera automaticamente la rutina con soo ponerle la cte, pero la probe y no me funciona, es esta, por si les srive
http://www.golovchenko.org/cgi-bin/constdivmulel codigo k genera es este
; binaro = binaro * 0.196
; Temp = TEMP
; binaro size = 8 bits
; Error = 0.5 %
; Bytes order = little endian
; Round = no
; ALGORITHM:
; Clear accumulator
; Add input / 8 to accumulator
; Add input / 16 to accumulator
; Add input / 128 to accumulator
; Move accumulator to result
;
; Approximated constant: 0.195312, Error: 0.350765 %
; Input: binaro0, 8 bits
; Output: binaro0, 6 bits
; Code size: 15 instructions
cblock
binaro0
endc
;copy accumulator to temporary
movf binaro0, w
;shift accumulator right 3 times
clrc
rrf binaro0, f
clrc
rrf binaro0, f
clrc
rrf binaro0, f
;add temporary to accumulator
addwf binaro0, f
;shift accumulator right 1 times
rrf binaro0, f
;add temporary to accumulator
addwf binaro0, f
;shift accumulator right 3 times
rrf binaro0, f
clrc
rrf binaro0, f
clrc
rrf binaro0, f
lo prbe con el mplab, y no veo en ninguna parte el resultado de la multiplicacion (le cargo 11111111 al binario0 y deberia dar aprox 200 (en binario por supuesto) y no lo veo (le pongo k lo deje en w) si pueden lo prueban y me dicen ok? gracias