ASMB,R,L,C
      HED $CVT1 AND $CVT3 ROUTINES
*     SOURCE: 92067-18046 
*     RELOC:  PART OF 92067-16035 
*     PGMR:   S.P.K.
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  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 92067-16035 REV.1805 770621 
      ENT $CVT3 
      ENT $CVT1 
      EXT .ZPRV 
      HED $CVT3(BINARY TO ASCII CONVERSION) 
* 
*         BINARY TO ASCII CONVERSION ROUTINE
* 
*     CALLING SEQUENCE
* 
*         SET E TO 0 IF OCTAL CONVERSION OR 
*         SET E TO 1 FOR DECIMAL CONVERSION 
*         LDA NUMBER TO BE CONVERTED
*         JSB $CVT3 
* 
*         RETURN ADDRESS OF ASCI IN A AND E=1.
*              RESULTS IN ASCI, ASCI+1, ASCI+2
*               LEADING 0'S SUPPRESSED
* 
$CVT3 NOP          ENTRY/EXIT 
      JSB .ZPRV 
      DEF LIBX
      STB TEMP6    SAVE B REGISTER
      LDB PTTE      INIT LOCATION OF BUFFER 
      STB TMP 
      LDB AASCI     SET BUFFER=ASCII BLANK'S
      STB ASCI
      STB ASCI1 
      STB ASCI2 
      LDB DF10      ASSUME BASE TEN 
      SEZ,CLE,RSS   IF BASE EIGHT 
      INB           SET UP FOR BASE EIGHT 
      STB BASE      SET CONVERSION BASE ADDRESS 
DPCRL CLB           START CONVERSION
      DIV BASE      DIVIDE BY BASE
BASE  EQU *-1       DEFINE BASE ADDRESS 
      ADB B20       CONVERT TO ASCII-BLANK
      SEZ           IF HIGH DIGIT 
      BLF,BLF       ROTATE
      ADB TMP,I     ADD CURRENT VALUE 
      STB TMP,I     STORE THE CONVERTED VALUE 
      CCB,SEZ       PREPARE FOR SUBTRACT
      ADB TMP       IF HIGH CHAR. BACKUP
      SEZ,CME       BUFFER POINTER
      STB TMP       AND RESET 
      SZA           IF MORE DIGITS
      JMP DPCRL     GO SET THE NEXT ONE 
* 
      CCE           SET E FOR NEXT CALL (ASSUME BASE 10)
      LDA PTT      LOAD A WITH ASCI BUFFER ADDRESS
      LDB TEMP6    RESTORE B
      LDX ASCI2     LOAD X WITH LEAST TWO DIGITS
LIBX  JMP $CVT3,I   RETURN
      DEF $CVT3 
* 
B20   OCT 20
DF10  DEF D10 
D10   DEC 10
D8    DEC 8 
PTT   DEF ASCI
PTTE  DEF ASCI2 
ASCI  NOP 
ASCI1 NOP 
ASCI2 NOP 
AASCI ASC 1,
TEMP6 NOP 
TMP   NOP 
* 
* 
$CVT1 NOP           ENTRY FOR ONE WORD
      JSB .ZPRV 
      DEF CLIBX 
      JSB $CVT3     CONVERT IT
      LDA ASCI2     GET THE LEAST SIG WORD
CLIBX JMP $CVT1,I 
      DEF $CVT1 
      END 
                                                                                                                                                        