.macro address , text , ?string .iif not_defined string_index, string_index=0 .save_psect .psect string_text string: .ascic /text/ .restore_psect .address - string string_index=string_index+1 .endm address errmsg: .ascic 'Unknown/illegal type' HDR_TYPES: string_index=0 address
address address address address <Copyright text> address <Maintenance text> address <General text> HDR_MAX=string_index-1 GSD_TYPES: string_index=0 address <P-sect definition> address <Symbol definition> address <Entry point definition> address <Procedure definition> address <Symbol definition with word p-sect> address <Entry point definition with word p-sect> address <Procedure definition with word p-sect> address <Random entity check> address <Environment definition> address <Local symbol definition> address <Local entry point definition> address <Local procedure definition> address <Shareable image p-sect definition> GSD_MAX=string_index-1 DATA_TYPES: Data_0_36: address <Unspecified> address <Aligned bit string> address <8-bit unsigned> address <16-bit unsigned> address <32-bit unsigned> address <64-bit unsigned> address <8-bit signed 2's complement> address <16-bit signed 2's complement> address <32-bit signed 2's complement> address <64-bit signed 2's complement> address <F-floating (32-bit)> address <D-floating (64-bit)> address <F-floating complex (2*32-bit)> address <D-floating complex (2*64-bit)> address <Character coded text> address <Numeric string, unsigned> address <Numeric string, left seperate sign> address <Numeric string, left overpunched sign> address <Numeric string, right seperate sign> address <Numeric string, right overpunched string> address <Numeric string, zoned sign> address <Packed decimal string> address <Sequence of instructions> address <Procedure entry mask> address <Descriptor> address <128-bit unsigned> address <128-bit signed 2's complement> address <G-floating (64-bit)> address <H-floating (128-bit)> address <G-floating complex (2*64-bit)> address <H-floating complex (2*128-bit)> address <Cobol intermediate temporary> address <Bound procedure value> address <Bound label value> address <Bit unaligned> address <Absolute date and time> address <Reserved> data_37_177: address <Reserved to DEC> data_178_191: address <Address calculation command> address <Entry global definition> address <Global symbol definition> address <Entry point to routine> address <Line number relative to R11> address <Bliss field name> address <P-sect information> address <PC correlation table for Fortran IV+> address <Literal or Label> address <Label in non-assembly language modules> address <Beginning of new module> address <End of module> address <Beginning of new routine> address <End of routine> data_192_255: address <Reserved to CSS and customers> PASSING_MECHANISM: string_index=0 address <Unknown> address <By value> address <By reference> address <By descriptor> PASS_MAX=string_index-1 .entry HDR_TYPE,^M<r2> moval hdr_types,r1 movl #HDR_MAX,r2 brw return_address .entry PASSING_TYPE,^M<r2> moval passing_mechanism,r1 movl #PASS_MAX,r2 brw return_address .entry GSD_TYPE,^M<r2> moval gsd_types,r1 movl #GSD_MAX,r2 brw return_address return_address: movzbl @4(ap),r0 cmpl r0,#0 blss error cmpl r2,r0 blss error move: movl (r1)[r0],r0 ret error: moval errmsg,r0 ret .entry DATA_TYPE,0 movzbl @4(ap),r0 cmpl r0,#0 blss error cmpl r0,#37 blss less_then_37 cmpl r0,#178 blss less_then_178 cmpl r0,#192 blss less_then_192 cmpl r0,#256 blss error movl data_192_255,r0 ret less_then_37: ;0-36 moval data_0_36,r1 brw move less_then_178: ;37-177 movl data_37_177,r0 ret less_then_192: ;178-191 subl #178,r0 moval data_178_191,r1 brw move .end