*DECK OCTCON
          IDENT  OCTCON                                                 000100
          EXT    XTRACE                                                 000200
          ENTRY  OCTCON                                                 000300
*#
*1DC  OCTCON
*     1. PROC NAME           AUTHOR              DATE 
*        OCTCON              P.C.TAM             77/08/03 
* 
*     2. FUNCTIONAL DESCRIPTION 
*        THIS ROUTINE WILL CONVERT A BINARY NUMBER INTO OCTAL DISPLAYS
*        CODE FORMAT
* 
*     3. METHOD USED. 
*        GET 3 BITS AT A TIME STARTING FROM THE RIGHT, ADD 33B TO IT, 
*        AND PUT IT IN THE RIGHT PLACE IN A REGISTER. 
*        AFTER EXHAUSTING ALL THE BITS, WRITE THE WORD FORMED IN
*        REGISTER BACK
* 
*     4. ENTRY PARAMETER. 
*        FIRST PARAMETER REPRESENTS THE VALUE TO BE CONVERTED.
* 
*     5. EXIT PARAMETERS. 
*        SECOND PARAMETER IS STORAGE FOR THE RESULT.
* 
*     6. COMDECKS CALLED
*        INPARU    MACDEF 
* 
*     7. ROUTINES CALLED. 
*        XTRACE 
* 
*     8. DAYFILE MESSAGES.
*        NONE 
*#
*CALL MACDEF
*CALL INPARU
 OCTCON   EQ     *+4S15      ENTRY / EXIT                               000400
                                                                        000500
 DEBUG1   IFEQ   DEBUG,1,6
          SX6    A1 
          SA6    TEMP 
          SX1    XOCTCON
          RJ     XTRACE 
          SA1    TEMP 
          SA1    X1 
          ENDIF  DEBUG1 
                                                                        000900
          SA2    X1          (X2) = VALUE OF PARWD                      001000
          MX3    3           (X3) = 70000000000000000000B               001100
          SA1    A1+1        (X1) = ADDR. OF ARRAY TWOWD                001200
          MX6    0           WORD1 ASSEMBLED IN X6                      001300
          SB1    20          (B1) = START VALUE FOR LOOP                001400
          MX7    0           WORD2 ASSEMBLED IN X7.                     001500
          SB3    10          (B3) = CHAR LENGTH OF A CM WORD            001600
          SB2    1           (B2) = END VALUE FOR LOOP                  001700
                                                                        001800
 LOOP     LT     B1,B2,EOL                                              001900
          BX4    X3*X2       GET LEFT  3 BITS                           002000
          LX4    3                                                      002100
          SX4    X4+33B      CONVERT TO DISPLAY CODE                    002200
          GT     B1,B3,WORD1                                            002300
                                                                        002400
 WORD2    LX7    6                                                      002500
          BX7    X7+X4       BUILD WORD2                                002600
          JP     INCR                                                   002700
                                                                        002800
 WORD1    LX6    6                                                      002900
          BX6    X6+X4       BIULD WORD1                                003000
                                                                        003100
 INCR     LX2    3           GET NEXT 3 BIT RIGHT                       003200
          SB1    B1-1        INCREMENT LOOP COUNTER                     003300
          JP     LOOP                                                   003400
                                                                        003500
 EOL      SA6    X1          STORE RESULT                               003600
          SA7    X1+1                                                   003700
          JP     OCTCON                                                 003800
 XOCTCON  DATA   L*OCTCN* 
 TEMP     BSS    1
                                                                        003900
          END                                                           004000
