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