 
by Djula Djarmati
;**********************************************************************************************
;CONVERT 10-BIT BINARY TO THREE DECIMAL DIGITS (28 cycles, 25 program 
memory)
;Input word:    Digits+1:Digits
;Output digits: Digits+2:Digits+1:Digits
;Trashes:       PRODH, PRODL
;**********************************************************************************************
Bin_To_Dec_999  movlw   d'41'                   ;Multiply by 0.01 (41/4096)
                mulwf   Digits+1                ;
                movff   PRODL, Digits+2         ;
                mulwf   Digits                  ;
                movf    PRODH, w                ;
                addwf   Digits+2, w             ;
                mullw   0x10                    ;Lose the lower 8 bits 
and shift
                movf    PRODH, w                ;result 4 bits left 
(divide by 4096)
                movwf   Digits+2                ;Save result
                mullw   d'100'                  ;and then multiply it 
by 100
                movf    PRODL, w                ;
                subwf   Digits, f               ;Subtract from original
                movf    PRODH, w                ;to get
                subwfb  Digits+1, f             ;remainder
                movf    Digits, w               ;Split remainder (0-99) 
to two decimals
                mullw   D'205'                  ;
                movlw   D'32'                   ;Multiply by 0.1
                mulwf   PRODH                   ;(205/256 * 32/256)
                movf    PRODH, w                ;
                movwf   Digits+1                ;Save result
                mullw   D'10'                   ;and then multiply it by 10
                movf    PRODL, w                ;Subtract from original
                subwf   Digits, f               ;Save remainder
                return                          ;Done
| file: /Techref/microchip/math/radix/b2bu-10b3d-mullw-dd.htm, 2KB, , updated: 2011/3/6 18:07, local time: 2025/10/31 14:59, 
 
216.73.216.87,10-2-37-96:LOG IN | 
| ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://www.piclist.com/Techref/microchip/math/radix/b2bu-10b3d-mullw-dd.htm"> PIC Microcontoller Radix Math Method 10bit to BCD unpacked 3 digit in 25 inst 28 cycles by Djula Djarmati </A> | 
| Did you find what you needed? | 
|  PICList 2025 contributors: o List host: MIT, Site host massmind.org, Top posters @none found - Page Editors: James Newton, David Cary, and YOU! * Roman Black of Black Robotics donates from sales of Linistep stepper controller kits. * Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters. * Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated! * Contributors: Richard Seriani, Sr. | 
| The Backwoods Guide to Computer Lingo | 
.