1 /* START OF: azm_va_args.incl.pl1 * * * * * * * * * * * * * * * * */ 2 3 /* This is a structure for argument processing of virtual addresses (VAs) and its related arguments. 4 These related arguments can be a an offset modifier EXP which can be a positive or negative 5 octal number and a RANGE can be specified. Both EXP and RANGE are optional arguments. The VA 6 must always be specified. These three args are non-positional on the request line but there 7 is an implicit order among the three. The first non-control argument on the request line must be 8 a VA. The second non-control argument on the request line can be a EXP or a RANGE. If it is a 9 RANGE then an EXP cannot be specified. In other words, a EXP must follow a VA. 10 */ 11 12 /* Created: 22 MAY 84 by BLB */ 13 14 dcl 1 va_args aligned, 15 /* fully resolved segment number of the virtual address */ 16 2 segno fixed bin (18) aligned, 17 /* fully resolved offset of the virtual address */ 18 2 offset fixed bin(18) unaligned, 19 /* offset modifier (+N, -N) of the virtual address */ 20 2 offset_modifier fixed bin(18), 21 /* The range of the addr area specified */ 22 2 range fixed bin(18) unaligned, 23 2 va_switches unaligned, 24 3 valid_va bit (1) unaligned, /* on if valid virtual address */ 25 3 valid_modifier bit (1) unaligned, /* on if valid offset modifier */ 26 3 valid_range bit (1) unaligned, /* on if valid range */ 27 3 modifier_before_indirect bit(1) unaligned, /* on if the offset modifier is specified */ 28 /* before indirection eg. A|B+10,* */ 29 3 va_pad bit (32) unaligned, /* must be zero */ 30 2 va_position aligned, /* index into the argument list for: */ 31 3 va_idx fixed bin, /* virtual address */ 32 3 mod_idx fixed bin, /* the offset modifier index */ 33 3 range_idx fixed bin, /* the range argument index */ 34 2 resolved_va ptr, /* The resolved virtual address */ 35 2 ecode fixed bin(35), /* error code */ 36 2 error_msg char(80) var, /* error message */ 37 2 va_string char(256) var; /* The complete virtual address after parsing thru the args. */ 38 39 dcl 1 va based (va_args_ptr) like va_args; 40 dcl va_args_ptr ptr; 41 42 /* END OF: azm_va_args.incl.pl1 * * * * * * * * * * * * * * * * */