here are a couple of BIN to ASCII converters I wrote, might be useful.;********************************************************************** ; Routine:BINtoASCII ; Input Registers:BUFFER ; Output Registers: ASCII_MSW, ASCII_LSW ; Internal Registers:None ; CALLS:None ; Function: Receives a binary number in the input register BUFFER. This ; is then converted into two ASCII output bytes. ;********************************************************************** BINtoASCII CLRF ASCII_MSW ;Clear output registers CLRF ASCII_LSW SWAPF BUFFER,W ;Get upper nibble ANDLW h'0F' ;Mask off unwanted bits MOVWF ASCII_MSW ;Save MOVLW 10 ;For BCD lower nibble only (lower 4 bits) SUBWF ASCII_MSW,W MOVLW h'30' ;If numerical add ascii value (-10) BTFSC StatusREG,C MOVLW h'37' ;If alphabetical, then add a different ascii value (-10) ADDWF ASCII_MSW,1 ;save in output reg MOVF BUFFER,W ;get lower nibble of input byte ANDLW h'0F' ;mask off unwanted data MOVWF ASCII_LSW MOVLW 10 SUBWF ASCII_LSW,W MOVLW h'30' BTFSC StatusREG,C MOVLW h'37' ADDWF ASCII_LSW,1 ;and save in output reg retlw 0
Code: