Subroutine XXXXHEXO:

 V100     TITLE 'XXXXHEXO'                                               
00010001
*        PUNCH ' CATALR XXXXHEXO'                                       00020001
XXXXHEXO CSECT                                                          00030001
**--> MODULE : XXXXHEXO EXTENDED HEXADECIMAL OUTPUT CONVERSION MODULE * 00040001
*        XXXXHEXO IS CALLED BY MACRO XHEXO TO CONVERT A REGISTER VALUE* 00050001
*        TO EDITED HEXADECIMAL IN AN 8-BYTE AREA.                     * 00060001
*        ENTRY CONDITIONS :                                           * 00070001
*   R14= ADDRESS OF SAVEAREA FOR CALLING MACRO                        * 00080001
*   R15= ENTRY POINT ADDRESS                                          * 00090001
*   R0=  ADDRESS OF AREA WHERE CONVERTED STRING GOES                  * 00100001
*        REGISTER VALUE IN XHEXOREG                                   * 00110001
*        EXIT CONDITIONS :                                            * 00120001
*   8-BYTE CONVERTED NUMBER OF REGISTER ARGUMENT STORED AT ADDRESS    * 00130001
*        ARGUMENT                                                     * 00140001
*        USES DSECT: XHEXOB                                           * 00150001
*        NAMES: XXHO----                                              * 00160001
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00170001
         USING *,15                SET UP BASE REGISTER                 00180001
         USING XHEXOB,14           DSECT OVERLAP                        00190001
         STM   14,1,XXHEXOSA       STORE THE REGISTERS                  00200001
         L     1,XHEXOREG          REG TO BE CONVERTED                  00210001
         ST    1,XXHOAREA          STORE NUMBER TO BE CONVERTED         00220001
         LR    1,0                 R1 POINTS TO OUTPUT AREA             00230001
         L     14,=A(XXHOTAB3-C'0')    FOR CONVERSION OF 0-9 TO F0-F9   00240001
         UNPK  XXHODOUB(9),XXHOAREA(5) CONVERT THE NUMBER               00250001
         TR    XXHODOUB,0(14)      MAKE PRINTABLE                       00260001
         MVC   0(8,1),XXHODOUB     MOVE NUMBER TO RIGHT AREA            00270001
XXHOBACK LM    14,1,XXHEXOSA       RESTORE THE REGISTERS                00280001
         B     XHEXORET            RETURN TO CALLING MACRO              00290001
XXHOTAB3 DC    C'0123456789ABCDEF'                                      00300001
XXHOAREA DS    F,C                 STORAGE AREA                         00310001
XXHODOUB DS    D,C                 STORAGE AREA                         00320001
XXHEXOSA DS    4F                  SAVE AREA                            00330001
         LTORG                     LITERAL POOL *                       00340001
         DROP  14,15               DROP BASE REGS                       00350001
         EJECT                                                          00360001
XHEXOB   DSECT                                                          00370001
**--> DSECT : XHEXOB    CONTROL BLOCK CREATED BY XHEXO MACRO  * * * * * 00380001
*        AN XHEXOB IS CREATED FOR EACH XHEXO CALL, AND CONTAINS THE   * 00390001
*        @ XXXXHEXO MODULE, SAVEWORDS R14,R15,R0,R1, AND THE PLACE TO * 00400001
*        RETURN.                                                      * 00410001
*        XHEXOB IS USED ONLY IN MODULE XXXXHEXO                       * 00420001
*        GENERATION: XXXXHEXO                                         * 00430001
*        NAMES: XHEXO---                                              * 00440001
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00450001
         DS    V(XXXXHEXO)         STORAGE FOR ADCON                    00460001
         DS    3F                  STORAGE FOR THE REGS.                00470001
XHEXOREG DS    F                   WHERE REGISTER IS STORED             00480001
XHEXORET LM    14,1,4(14)          RESTORE REGISTERS                    00490001
         END   ,                                                        00500001

Reply via email to