ASMB,Q,C
*     NAME:  $CVT3
*     SOURCE: 92071-18322 
*     RELOC: 92071-1X322
*     PGMR:   DJN 
* 
* 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * 
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
* 
* 
      NAM $CVT3,6  92071-1X322  REV. 2041 800530
      ENT $CVT3,$CVT
      EXT .ZPRV 
A     EQU 0 
B     EQU 1 
* 
* INTEGER TO ASCII CONVERSION.  NUMBER IN A,
* RESULT IN $CVT,$CVT+1,$CVT+2, WITH LEADING
* ZEROES SUPRESSED. 
* 
DCVT  DEF $CVT
DCVT2 DEF $CVT+2
$CVT  BSS 3 
.B    NOP 
TEMP  NOP 
PRIO  NOP 
$CVT3 NOP 
      JSB .ZPRV     SHARABLE
      DEF EXIT
      STB .B        SAVE B
      LDB DCVT2     INIT LOCATION OF BUFFER 
      STB TEMP
      LDB =A        FILL BUFFER WITH SPACES 
      STB $CVT
      STB $CVT+1
      STB $CVT+2
      LDB =D8       ASSUME BASE 8 
      SEZ           BASE 10?
      LDB =D10      YES IT IS 
      STB PRIO      SET CONVERSION PRIOR ADDRESS
      CLE 
DPCRL CLB 
      DIV PRIO      DIVIDE BY PRIO
      ADB =B20      CONVERT TO ASCII BLANK
      SEZ           IF HIGH DIGIT 
      BLF,BLF       THEN ROTATE 
      ADB TEMP,I    ADD CURRENT VALUE 
      STB TEMP,I    STORE THE CONVERTED VALUE 
      CCB,SEZ       PREPARE FOR SUBTRACT
      ADB TEMP      IF HIGH CHAR. BACKUP
      SEZ 
      STB TEMP      TEMP IS NOW THE BUFFER POINTER
      CME,SZA       IF MORE DIGITS
      JMP DPCRL     THEN SET THE NEXT ONE 
* 
      CCE 
      LDA DCVT
      LDB .B
EXIT  JMP $CVT3,I   RETURN
      DEF $CVT3 
      END 
                                                                                                                                                                                                    