ZVAX-11 Bliss-16 T2.1-46425-Mar-1981 16:08:59?!( - 1:?AFTYafho v"|#~$$$$$$$$$$$,0000022255;?@EEFFF KKMPQQ"$'TT)UUUUU.05:Y=- $XPO_ADDRESS0 XPO$K_NO_NEXT4 XPO$V_SPEC_NODE$IAS1 XPO$K_NAME_NEXT< XPO$K_STATE_LEN$XPO_ACTION_RTN $XPO_RETURN2 FF$STR_ACTION_RTN EM LF BS CR: XPO$V_SPEC_SIZE% $XPO_SYS_TEST FS $VMS GS $XPO$INTERNAL HT SI8 XPO$V_SPEC_TYPE $XPO_ZAP_IOB BELL; XPO$V_SPEC_PROT$XPO_LEAVE_IOB SO$XPO_VALID_IOB SP RS2 XPO$K_TYPE_NEXTY $SHOW_FIELD US VT$RT11 DC1 DC25 XPO$V_SPEC_DEV6 XPO$V_SPEC_DIRF$XPO_PARSE_MAX DC3 DC4 NULL/ $XPO_QUIT$XPO_FREE_QUITo $STR_QUIT $XPO_MODULEq $STR_VALIDATE9 XPO$V_SPEC_VER$TOPS10$TOPS20 $XPO_PSECTS ACK3 XPO$K_VER_NEXT $SHOW_LITERAL CAN$11M BEL` $XPO_MAIN_END=$XPO_PARSE_STATE DEL DLE $STR_MAIN_END $XPO_IF_NOTk $XPO_RETURN NAK ESC ETB $XPO_STATUS $XPO_DFLT_DEV_$XPO_MAIN_BEGIN $XPO_BIT_MASK ENQ8$STR_MAIN_BEGIN$XPO$COMP_CODE EOT$STR$COMP_CODE SOH SUB SPACE NUL$RSTS ETX$XPO_BUILD_SPEC SYN7 XPO$V_SPEC_NAME$STR_ALLOC_TEMP#$ALL STX%VARIANT"%VARIANT"%VARIANT"%VARIANT"%VARIANT"%VARIANT"%VARIANT"W%IF %THEN%IF$TOPS10%THEN%PRINT(% This module was compiled for TOPS-10)%ELSE%IF$TOPS20%THEN%PRINT(% This module was compiled for TOPS-20)%ELSE%IF$VMS%THEN%PRINT(% This module was compiled for VAX/VMS)%ELSE%IF$11M%THEN%PRINT(% This module was compiled for RSX-11M)%ELSE%IF$IAS%THEN%PRINT(! This module was compiled for IAS)%ELSE%IF$RSTS%THEN%PRINT(" This module was compiled for RSTS)%ELSE%IF$RT11%THEN%PRINT(" This module was compiled for RT11)%ELSE%IF%BLISS(BLISS16)%THEN%PRINT(/ This module was compiled for any PDP-11 system)%ELSE%IF%BLISS(BLISS32)%THEN%PRINT(/ This module was compiled for any VAX-11 system)%ELSE%IF%BLISS(BLISS36)%THEN%PRINT(/ This module was compiled for any PDP-10 system)%FI%FI%FI%FI%FI%FI%FI%FI%FI%FI %EXITMACRO%FI%IF%COUNT"%LENGTH-%THEN %ERRORMACRO( Variant setting (,%VARIANT, ) is invalid)%FI%IF$TOPS10$TOPS20%THENDSK:%FI%IF$VMS%THEN SYS$DISK:%FI%IF$11M$IAS%THENSY0:%FI%IF$RSTS%THENSY:%FI%IF$RT11%THENDK:%FI %IF %IDENTICAL( ,%REMOVE( ))%THEN%NAME(XPO$_, )%ELSE %FI%T1= _XPO$DATA%BLISS32((PIC, ( LONG_RELATIVE))),2= _XPO$DATA%BLISS32((PIC, ( LONG_RELATIVE))),CODE= _XPO$CODE(NOWRITE%BLISS32(,SHARE,PIC)),V= _XPO$CODE;%IF%BLISS(BLISS36)%THEN%WARN(6This macro may not appear in BLISS-16 or BLISS-32 code)%FI(( ^-)+)cG $XPO$FUNCTION=%NAME(XPO$K_, ),$XPO$MAIN_BLOCK=;%IF %IDENTICAL( ,IO)%THEN7 PRIMARY_CODE=IOB[IOB$G_COMP_CODE],SECONDARY_CODE=IOB[IOB$G_2ND_CODE];%ELSE8 PRIMARY_CODE,SECONDARY_CODE;%FIE MAIN_BLOCK; MAIN_BLOCK:%IF%NULL( )%THEN.IOB[ IOB$H_LENGTH]".IOB[ IOB$B_VERSION]".IOB[ IOB$B_LEVEL]".IOB[IOB$G_COMP_CODE]"IOB[ IOB$H_LENGTH]= IOB$K_LENGTH;IOB[ IOB$B_VERSION]= XPO$K_VERSION;IOB[ IOB$B_LEVEL]= XPO$K_LEVEL;;IOB[ $SUB_FIELD(IOB$T_RESULTANT, STR$B_DTYPE)]= STR$K_DTYPE_T;IOB[ $SUB_FIELD(IOB$T_RESULTANT, STR$B_CLASS)]= STR$K_CLASS_D;%FI%IF %IDENTICAL( ,IO)%THEN.IOB[ IOB$H_LENGTH]# IOB$K_LENGTH $XPO_QUIT(BAD_IOB, BAD_LENGTH);%FISECONDARY_CODE=;%IF%NULL( )%THEN PRIMARY_CODE=$XPO$COMP_CODE( );%FI%IF%NULL( )%THENSECONDARY_CODE=$XPO$COMP_CODE( );%FI%IF$XPO$MAIN_BLOCK%THENC MAIN_BLOCK%FI;%ASSIGN($XPO$MAIN_BLOCK,)%IF%NULL( )%THENIOB[IOB$G_2ND_CODE]=$XPO$COMP_CODE( );%FIIOB[IOB$G_COMP_CODE]=$XPO$COMP_CODE( );B$XPO$COMP_CODE( ) .SECONDARY_CODE=$XPO$COMP_CODE( );B$XPO$COMP_CODE( )$XPO$EX_ROUTINE( XPO$VALID_IOB) XPO$VALID_IOB( )%IF%NULL( )%THEN $XPO_QUIT( );%ELSE $XPO_QUIT();%FI$XPO$EX_ROUTINE(XPO$BUILD_SPEC)XPO$BUILD_SPEC( )%IF%NULL( )%THEN $XPO_QUIT( );%ELSE $XPO_QUIT();%FI6%IF %DECLARED(SUCCESS_ACTION) %DECLARED(FAILURE_ACTION) %DECLARED( PRIMARY_CODE) %DECLARED(SECONDARY_CODE)%THEN%WARN((OSUCCESS_ACTION, FAILURE_ACTION, PRIMARY_CODE and SECONDARY_CODE must be defined) %EXITMACRO%FI8 $XPO$ACTION;. PRIMARY_CODE $XPO$ACTION=.SUCCESS_ACTION $XPO$ACTION=.FAILURE_ACTION;. $XPO$ACTION# PRIMARY_CODE=%IF%BLISS(BLISS36)%THENBLISS36C(%ELSEBLISS(%FI. $XPO$ACTION, $XPO$FUNCTION,. PRIMARY_CODE,.SECONDARY_CODE, );;$XPO$EX_ROUTINE( XPO$ZAP_IOB)%IF$XPO$MAIN_BLOCK%THEN $XPO_IF_NOT( XPO$ZAP_IOB( )) $XPO_QUIT(FREE_MEM,(. $XPO_STATUS));%ELSE XPO$ZAP_IOB( )%FI$XPO$EX_ROUTINE( XPO$LEAVE_IOB) $XPO_IF_NOT( XPO$LEAVE_IOB( )) $XPO_QUIT(FREE_MEM,(. $XPO_STATUS));D8 $XPO$STATUS;( $XPO$STATUS= $XPO_FREE_MEM(STRING= , BINARY_DATA= ,FAILURE=)) $XPO_QUIT(FREE_MEM,(. $XPO$STATUS));STRING BINARY_DATA(8 $XPO$STATUS;( $XPO$STATUS= %REMAINING) $XPO$STATUS)%IF%BLISS(BLISS16)%THENRI ={XPORT;{XPOSYS; $XPO_PSECTS%FI BITVECTOR[XPO$K_STATE_LEN]F&%IF$TOPS10%THEN XPO$K_MAX_DEV=,XPO$K_MAX_NAME=,XPO$K_MAX_TYPE=;%ELSE%IF$TOPS20%THEN XPO$K_MAX_DEV=',XPO$K_MAX_NAME=',XPO$K_MAX_TYPE=',XPO$K_MAX_ATTR=;%ELSE%IF$VMS%THENXPO$K_MAX_NODE=?, XPO$K_MAX_DEV=?,XPO$K_MAX_NAME=?,XPO$K_MAX_TYPE=;%ELSE%IF$11M%THEN XPO$K_MAX_DEV=,XPO$K_MAX_NAME= ,XPO$K_MAX_TYPE=;%ELSE%IF$RSTS%THEN XPO$K_MAX_DEV=,XPO$K_MAX_NAME=,XPO$K_MAX_TYPE=;%ELSE%IF$RT11%THEN XPO$K_MAX_DEV=,XPO$K_MAX_NAME=,XPO$K_MAX_TYPE=;%FI%FI%FI%FI%FI%FI/%IF %DECLARED(%NAME( ))%THEN%WARN( , is not defined) %EXITMACRO%FI%IF %DECLARED(%NAME( ))%THEN%WARN( , is not defined) %EXITMACRO%FI%IF %FIELDEXPAND( ,)#%THEN%WARN( ,  is not a 1-bit field) %EXITMACRO%FI^( %FIELDEXPAND( ,)- %FIELDEXPAND( ,))D%PRINT( ,%NAME( , ), = [, %FIELDEXPAND(%NAME( , ),),,, %FIELDEXPAND(%NAME( , ),),,, %FIELDEXPAND(%NAME( , ),),,, %FIELDEXPAND(%NAME( , ),),] (+,%IF%BLISS(BLISS32)%THEN%X'$XPO$SHOW_NUMB( %FIELDEXPAND(%NAME( , ),)*%UPVAL,)%ELSE%O'$XPO$SHOW_NUMB( %FIELDEXPAND(%NAME( , ),)*%UPVAL,)%FI,'))'%PRINT( ,%NAME( , ), = ,%NUMBER(%NAME( , )), (,%IF%BLISS(BLISS32)%THEN%X'$XPO$SHOW_NUMB(%NUMBER(%NAME( , )),)%ELSE%O'$XPO$SHOW_NUMB(%NUMBER(%NAME( , )),)%FI,')) %IF %IDENTICAL( ,%REMOVE( ))%THEN%NAME(STR$_, )%ELSE %FIG $STR$FUNCTION=%NAME(STR$K_, ),$XPO$MAIN_BLOCK=;8 PRIMARY_CODE;E MAIN_BLOCK;%IF $STR$FUNCTION# STR$K_PSEUDO%THEN8SECONDARY_CODE;SECONDARY_CODE=;%FI MAIN_BLOCK:%IF%NULL( )%THEN PRIMARY_CODE=$STR$COMP_CODE( );%FI%IF%NULL( ) $STR$FUNCTION# STR$K_PSEUDO%THENSECONDARY_CODE=$STR$COMP_CODE( );%FI%IF$XPO$MAIN_BLOCK%THENC MAIN_BLOCK%FI;%ASSIGN($XPO$MAIN_BLOCK,)E%IF %DECLARED(SUCCESS_ACTION) %DECLARED(FAILURE_ACTION) %DECLARED( PRIMARY_CODE) %DECLARED(SECONDARY_CODE)%THEN%WARN((OSUCCESS_ACTION, FAILURE_ACTION, PRIMARY_CODE and SECONDARY_CODE must be defined) %EXITMACRO%FI8 $STR$ACTION;. PRIMARY_CODE%IF $STR$FUNCTION" STR$K_COMPARE $STR$FUNCTION" STR$K_SCAN%THEN. PRIMARY_CODE"%FI $STR$ACTION=.SUCCESS_ACTION $STR$ACTION=.FAILURE_ACTION;. $STR$ACTION# PRIMARY_CODE=%IF%BLISS(BLISS36)%THENBLISS36C(%ELSEBLISS(%FI. $STR$ACTION, $STR$FUNCTION,. PRIMARY_CODE,.SECONDARY_CODE, , , $XPO$DEFAULT( ,));;!$XPO$EX_ROUTINE( XST$VALIDATE)%IF %DECLARED($XPO$MAIN_BLOCK)%THEN%IF$XPO$MAIN_BLOCK%THEN8 $STR$STATUS; $STR$STATUS= XST$VALIDATE( );. $STR$STATUS $STR_QUIT( ,(. $STR$STATUS)); %EXITMACRO%FI%FI XST$VALIDATE( )3 XST$NO_MEMORY; $XPO_GET_MEM( FULLWORDS= STR$K_D_BLN,RESULT= ,FAILURE=)B XST$NO_MEMORY;$STR_DESC_INIT( DESCRIPTOR=. ,CLASS=XPORT_TEMPORARY);