*COMDECK P1TOAH 
_$J+? 
_*****************************
*                            *
*         P1TOAH             *
*  CONVERT TO ASCII HEX      *
*                            *
*****************************?
_$R-,G-,I+                NON-RECURSIVE 
                          NON-INTERRUPTIBLE  ?
_***********************************************************************
*                                                                      *
**OVERVIEW- P1TOAH CONVERTS THE UPPER-7 AND LOWER-11 BIT COMPONENTS    *
*           OF AN 18-BIT ADDRESS INTO 5 ASCII HEX CHARACTERS AND       *
*           PLACES THESE CHARACTERS INTO A USER SPECIFIED PLACE IN     *
*           A BUFFER.  A CHECK IS MADE TO PREVENT THE USER FROM        *
*           PLACING THE CHARACTERS IN OTHER THAN THE DATA PORTION      *
*           OF THE BUFFER.                                             *
*                                                                      *
**INPUT- UPPER-7 AND LOWER-11 BITS OF ADDRESS TO CONVERT, BUFFER       *
*        TO CONTAIN CHARACTERS AND THE START AND STOP INDICES IN       *
*        THE BUFFER.                                                   *
*                                                                      *
**OUTPUT- CONVERSION PERFORMED                                         *
*                                                                      *
**EXTERNAL SUBROUTINES-                                                *
*              1) PBMAX            CALCULATE MAX OF 2 NUMBERS          *
*                                                                      *
***********************************************************************?
PROCEDURE P1TOAH(ADDR : B018BITS; BFR : B0BUFPTR; START,STOP : INTEGER);
VAR 
 UPPER2  : INTEGER; 
 LOWER16 : B0OVERLAY; 
  
BEGIN 
UPPER2         := ADDR.B0UPPER7.BA7BITS/32; _GET UPPER 2 OF UPPER 7    ?
LOWER16.BAINT  := ADDR.B0WORD.BAINT;        _GET LOWER 11 BITS         ?
LOWER16.BAPAGE := ADDR.B0UPPER7.BA7BITS;    _INSERT LOWER 5 OF UPPER 7 ?
BFR'.BFDATAC [START] := JMCNVTO [UPPER2];   _CONVERT UPPER2 BITS       ?
START                := START + 1;          _BUMP START LOCATION       ?
PBTOAH (LOWER16.BAHEX, BFR, START, STOP);   _CONVERT LOWER 16 BITS     ?
END; _P1TOAH? 
