AC0 = %0 AC1 = %1 AC2 = %2 AC3 = %3 AC4 = %4 AC5 = %5 .MACRO $TTYOUT ARG, NORET .IF NB .IIF DIF ,R0 LET R0 :B= ARG .ENDC .IF NB .EMIT .IFF .EMIT .ENDC .ENDM $TTYOUT .MACRO $PRINT ARG, NORET .IF NB .IIF DIF ,R1 LET R1 := ARG .ENDC .IF NB .EMIT .IFF .EMIT .ENDC .ENDM $PRINT .MACRO $SSHWL ARG, NORET .IF NB .IIF DIF ,R1 LET R1 := ARG .ENDC .IF NB .EMIT .IFF .EMIT .ENDC .ENDM $SSHWL ; ; For CIS ; .MACRO SZ$NUM VAL, ?L1, ?L2 .EMIT <.WORD 50000+L2-L1-1> ; 50000 - signed zoned numeric .EMIT <.WORD L1+1> .EMITL .EMIT <.ASCII \VAL\> .EMITL .EMIT <.BYTE 0> .EMIT <.EVEN> .ENDM SZ$NUM ; ; For CIS ; .MACRO SZ$PRINT LABEL LET R0 := LABEL+2 - #1 $PRINT .ENDM SZ$PRINT ; ; For define actions ; .MACRO ACTINIT MMXLEN = ^D<0> .SAVE .EMIT <.PSECT $APTRS, D, RO> .EMITL .EMIT <.PSECT $ADATA, D, RO> .EMITL .EMIT <.PSECT $MPTR, D, RO> .EMITL .RESTORE .ENDM ACTINIT .MACRO ACTION MESS,PAIRED=NO $ASCII $ACT$M = . .EMIT <.ASCIZ MESS<200>> .IIF GE .-$ACT$M-^D<1>-MMXLEN MMXLEN = .-$ACT$M-^D<1> .EMIT <.PSECT $MPTR> .EMIT <.WORD $ACT$M> .EMIT <.PSECT $ADATA> .IF NE .-CMDTBL .IF EQ $ACT$P .EMIT <$ACT$L = <.-$ACT$B>/2> .IFF .EMIT <$ACT$L = <$ACT$B-.>/2> .ENDC .EMIT <.PSECT $APTRS> .EMIT <.WORD $ACT$L, $ACT$B> .EMIT <.PSECT $ADATA> .ENDC .EMIT <$ACT$B = .> .IF IDN PAIRED,YES $ACT$P = 1 .IFF $ACT$P = 0 .ENDC .ENDM ACTION .MACRO ACTPAIR .ENDM .MACRO ACTEND .SAVE .EMIT <.PSECT $ADATA> .IF NE .-CMDTBL .EMIT <$ACT$L = <.-$ACT$B>/2> .EMIT <.PSECT $APTRS> .EMIT <.WORD $ACT$L, $ACT$B> .EMIT <.PSECT $ADATA> .ENDC .EMIT <.PSECT $APTRS> .EMIT /4> .RESTORE .ENDM ACTEND