qÃ[VAX-11 Librarian V2A.00€ªºŠŠÑ#Š384 FFF  î0°BREAKlCALL€COUNTDSB_LONG@ELSEªENB_LONGöENDIF,ENDWHILEIF¬MESSAGEòMSG..T2xNEXTAT²REPEAT¢ÔSIGNAL*ÈSMAC.BCKNXT)æSMAC.BCKNXT SMAC.BRKNXT)ZSMAC.BSITR-œSMAC.CCITR'j SMAC.EMITR'ø SMAC.EMITL+.SMAC.EQLOR*È SMAC.ERROR!‚ SMAC.GENBR#¢ SMAC.GSLB$€ SMAC.GSLB.BVÿÿREPEATÿÿ SMAC.GENBRB.B ÿÿ SMAC.GSLB.B.Bÿÿ SMAC.LONGBB.Bÿÿ SMAC.RGTRTB.B ÿÿ SMAC.RNEQTB.B ÿÿ SMAC.SHORTB.BÿÿSTRINGÿÿWHILErfUNTILLVECTORÊWHILE 'SMAC.TAGILB SMAC.UNTIL,¢SMAC.VCILE,(SMAC.VSILE-SMAC.WHILEÊ SMAC.WHILESTRINGî&î SMAC.LONGB.B,,SMAC.LSSYTB+¬SMAC.NEQYTB*J SMAC.OKAYTB(< SMAC.PEEKTB)nSMAC.POPHTB(Ž SMAC.PUSHTB0ìSMAC.RBCLTB0ˆSMAC.RBSLTB/æSMAC.RCCLTB-Ž SMAC.REQLTB.< SMAC.RGEQTB.h SMAC.RGTRTB ,ªSMAC.GTRVSMAC.IF SMAC.INIIL*NSMAC.LBCGBB)ÎSMAC.LBSGBB+*SMAC.LEQGBB%ô SMAC.LONGBB˜!„ SMAC.GENTST+¨SMAC.GEQB#¢ SMAC.GSLB$€ SMAC.GSLB.B /NSMAC.RSCRTB/SMAC.RVCRTB/~SMAC.RVSRTB0PSMAC.RWORTB-"SMAC.SCORTB%  SMAC.SHORTB& SMAC.SHORTB.B¾/¶ SMAC.RLBCTB0" SMAC.RLBSTB.¦ SMAC.RLEQTB.Ò SMAC.RLSSTB-ø SMAC.RNEQTB ­`GüŠŠ9 .MACRO IF T1, C1, T2, C2, T3, C3, T4, C4, T5, C5, T6, C6 SMAC.INI ; .NARG ..NARG .IF BLANK, ;7 .ERROR ; Missing condition or THEN in IF statement .MEXIT .ENDC .IF NE,<<..NARG/2>*2-..NARG> ;7 .ERROR ; Missing condition or THEN in IF statement .MEXIT .ENDC ..NOOR = 1( SMAC.IF ,,,,,,- ,,,,C1,T1 .IF EQ,..NOOR ; SMAC.TAG \SMAC..LBLN,2 .ENDC SMAC.PUSH \SMAC..LBLN,\!SMAC..IF SMAC..LBLN = SMAC..LBLN + 1 .ENDM IFww­À_‹Š .MACRO ELSE .IF NDF, SMAC..INI) .ERROR ; ELSE occurs before any IF's .MEXIT .ENDC SMAC.PEEK ..LBL, ..TYP ; .IF NE,<..TYP - SMAC..IF>- .ERROR ; Incorrect nesting of ELSE block .MEXIT .IF_FALSE SMAC.POP ..LBL, ..TYP ; .IRP ..N, \..LBL SMAC.EMIT  .ENDR SMAC.TAG \..LBL, 3 SMAC.PUSH \..LBL, \SMAC..ELSE .ENDC .ENDM ELSEww­ `…E‹Š .MACRO ENDIF .IF NDF, SMAC..INI* .ERROR ; ENDIF occurs before any IF's .MEXIT .ENDC SMAC.PEEK ..LBL, ..TYP ; .IF EQ,<..TYP - SMAC..IF> ; SMAC.TAG \..LBL, 3 ; .IF_FALSE .IF EQ,<..TYP-SMAC..ELSE> ; SMAC.TAG \..LBL,4 ; .IF_FALSE4 .ERROR ; ENDIF does not terminate an IF block .MEXIT .ENDC .ENDC SMAC.POP ..LBL, ..TYP ; ; .ENDM ENDIFww­ ­N‹Š .MACRO REPEAT SMAC.INI ;;% SMAC.PUSH \SMAC..LBLN, \SMAC..REPEAT SMAC.TAG \SMAC..LBLN, 1SMAC..LBLN = SMAC..LBLN + 1 .ENDM REPEATww­`ï]‹Š1 .MACRO UNTIL T1,C1,T2,C2,T3,C3,T4,C4,T5,C5,T6,C6 .IF NDF,SMAC..INI. .ERROR ; UNTIL occurs before any REPEAT's .MEXIT .ENDC SMAC.PEEK ..LBL, ..TYP .IF NE,<..TYP-SMAC..REPEAT>/ .ERROR ; UNTIL does not terminate a REPEAT .MEXIT .ENDC SMAC.POP ..LBL, ..TYP ; .IRP CC,\..LBL SMAC.TAG 'CC',2 ; .ENDR .NARG ..NARG .IF EQ,..NARG: .ERROR ; UNTIL requires a condition, FOREVER, or ONCE .MEXIT .ENDC? SMAC.UNTIL ,,,,,,,,,,- C1, T1 SMAC.TAG \..LBL,3 .ENDM UNTILww­„‹Š< .MACRO WHILE T1, C1, T2, C2, T3, C3, T4, C4, T5, C5, T6, C6 SMAC.INI ; .NARG ..NARG .IF BLANK, ;8 .ERROR ; Missing condition or DO in WHILE statement .MEXIT .ENDC .IF NE,<<..NARG/2>*2-..NARG> ;8 .ERROR ; Missing condition or DO in WHILE statement .MEXIT .ENDC ..NOOR = 1 SMAC.TAG \SMAC..LBLN,1 ;+ SMAC.WHILE ,,,,,,- ,,,,C1,T1 .IF EQ,..NOOR ; SMAC.TAG \SMAC..LBLN,4 .ENDC# SMAC.PUSH \SMAC..LBLN,\SMAC..WHILE SMAC..LBLN = SMAC..LBLN + 1 .ENDM WHILEww­`b³‹Š .MACRO ENDWHILE .IF NDF, SMAC..INI0 .ERROR ; ENDWHILE occurs before any WHILE's .MEXIT .ENDC SMAC.PEEK ..LBL, ..TYP ; .IF NE,<..TYP - SMAC..WHILE>;1 .ERROR ; ENDWHILE does not terminate a WHILE .MEXIT .ENDC SMAC.POP ..LBL, ..TYP ; ; SMAC.TAG \..LBL,2 ; .IRP CC,\..LBL ; SMAC.EMIT  .ENDR SMAC.TAG \..LBL,3 ; .ENDM ENDWHILEww­àPꋊ> .MACRO BREAK BRKID, IFDUM,T1,C1,T2,C2,T3,C3,T4,C4,T5,C5,T6,C6; .IF NDF, SMAC..INI0 .ERROR ; BREAK occurs before any structures .MEXIT .ENDC .IF IDN,BRKID, ;" SMAC.PEEK ..LBL, ..TYP, LEV=0 ; .IF LE,..TYP-4 ;0 .ERROR ; Can't BREAK from an IF structure .MEXIT .IF_FALSE;B SMAC.BRKNXT ,,,,,,,,,- ,, .IRP CC,\..LBL SMAC.EMIT .ENDR ENDIF .ENDC .IF_FALSE ;;B SMAC.BRKNXT ,,,,,,,,,,- , SMAC.EMIT  ENDIF .ENDC .ENDM BREAKww­€«ŒŠ= .MACRO NEXT NXTID, IFDUM,T1,C1,T2,C2,T3,C3,T4,C4,T5,C5,T6,C6; .IF NDF, SMAC..INI/ .ERROR ; NEXT occurs before any structures .MEXIT .ENDC .IF IDN,NXTID, ;" SMAC.PEEK ..LBL, ..TYP, LEV=0 ; .IF LE,..TYP-4 ;- .ERROR ; Can't NEXT in an IF structure .MEXIT .IF_FALSE;B SMAC.BRKNXT ,,,,,,,,,- ,, .IRP CC,\..LBL SMAC.EMIT .ENDR ENDIF .ENDC .IF_FALSE ;;B SMAC.BRKNXT ,,,,,,,,,,- , SMAC.EMIT  ENDIF .ENDC .ENDM NEXTww­€rŒŠ/ .MACRO CALL NAME,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9;; ..CNT = 0) .IRP ARG, .IF NB,ARG .NTYPE ..TYP,ARG ; ..TYP = ..TYP@-4&^XF .IF IDN,0, ; PUSHL #0 ; .MEXIT .ENDC ..FLG = 0 .IIF LE,..TYP-1, ..FLG=1 .IIF EQ,..TYP-5, ..FLG=1 .IF EQ,..FLG ; PUSHAL ARG% .IF_FALSE PUSHL ARG ; .ENDC ..CNT = ..CNT + 1 .ENDC .ENDR .IRP CC,\..CNT CALLS #'CC',NAME .ENDR .ENDM CALLww­à ­ŒŠ, .MACRO MESSAGE CODE,F1,F2,F3,F4,F5,F6,F7,F8;;; .IF BLANK, ;, .ERROR ; Message code must be specified .MEXIT .ENDC PUSHL R0 .NARG ..MSG_NARGS ; ..LEN = 0! .IRP F, .IF NB, ; PUSHL 'F ..LEN = ..LEN + 1 ; .ENDC .ENDR& .IF NE,<..LEN> ; PUSHL #..LEN ..LEN = ..LEN + 1 ; .ENDC PUSHL CODE PUSHL #..LEN+1 MOVL SP,R0 $PUTMSG_S MSGVEC=(R0) ADDL2 #<4*<..LEN+2>>,SP POPL R0 .ENDM MESSAGEww­ÀåPŠ$ .MACRO SIGNAL CODE1, F1, CODE2, F2;;;;; .IF BLANK, ;, .ERROR ; Message code must be specified .MEXIT .ENDC PUSHL R0 CLRL R1 MSG.. CODE2,F2 MSG.. CODE1,F1 CALLS R1,G^LIB$SIGNAL POPL R0 .ENDM SIGNALww­à%}Š" .MACRO MSG.. CODE,FW,FX,FY,FZ,?L1 .IF NB, ; ..FLEN=0 ; .IRP F, ; .IF NB, ; .NTYPE ..TYP,F ; ..TYP = ..TYP@-4&^XF ..FLG = 0 .IIF LE,..TYP-1, ..FLG=1 .IIF EQ,..TYP-5, ..FLG=1 .IF EQ,..FLG ; PUSHAL F .IF_FALSE ; PUSHL F .ENDC ..FLEN = ..FLEN + 1 .ENDC .ENDR PUSHL CODE CMPZV #STS$V_FAC_NO,- #STS$S_FAC_NO,- (SP),- #1 BLEQ L1' MOVAB 4(SP),SP PUSHL #..FLEN INCL R1 PUSHL CODEL1: ADDL2 #..FLEN+1,R1 .ENDC .ENDM MSG..ww­ ·žŠ .MACRO COUNT INIT; .IF NB,INIT .LONG INIT .IF_FALSE .LONG 0 .ENDC .ENDM COUNTww­`ß§Š .MACRO STRING LEN, INIT, ?SYM;; .NCHR ..CNT, .IF GE, .WORD LEN .IF_FALSE .WORD ..CNT .IF_TRUE_FALSE .BYTE DSC$K_DTYPE_T .BYTE DSC$K_CLASS_S .ADDRESS SYMSYM: .ASCII ~INI&T~ .IF_TRUE . = . +  .ENDC .ENDM STRINGww­à.ºŠ .MACRO VECTOR NRELS,SIZE=L; .BLK'SIZE NRELS .ENDM VECTORww­€µ»Š .MACRO ENB_LONG;; SMAC..LONGM = 1 .ENDM ENB_LONGww­@ÝÄŠ .MACRO DSB_LONG;; SMAC..LONGM = 0 .ENDM DSB_LONGww­€êÇŠF .MACRO SMAC.IF C6,T6,C5,T5,C4,T4,C3,T3,C2,T2,C1,REL,ARG1,ARG2,TYPE=L ; .IRP CC,\SMAC..LBLN .IF IDN,, ..NOOR = 0F SMAC.GENTST , , , , <_.'CC'.2>, SMAC..NORM .IF_FALSE ;G SMAC.GENTST , , , , <_.'CC'.3>, SMAC..BRREV .ENDC .ENDR .IF NB, ;, SMAC.IF <>, <>, , , , , -% , , , , C2, T2 .ENDC .ENDM SMAC.IFww­ ¦ÕŠI .MACRO SMAC.UNTIL C6,T6,C5,T5,C4,T4,C3,T3,C2,T2,C1,REL,ARG1,ARG2,TYPE=L ; .IRP CC,\..LBL .IF IDN,, ; SMAC.EMIT  .IF_FALSE .IF DIF,, ; .IF DIF,, ;5 SMAC.GENTST , , , , - <_.'CC'.1>, SMAC..BRREV .IF_FALSE ;4 SMAC.GENTST , , , ,- <_.'CC'.3>, SMAC..NORM .ENDC .ENDC .ENDC .ENDR .IF NB, ;/ SMAC.UNTIL <>, <>, , , , , -% , , , , C2, T2 .ENDC .ENDM SMAC.UNTILww­ õçŠI .MACRO SMAC.WHILE C6,T6,C5,T5,C4, T4,C3,T3,C2,T2,C1,REL,ARG1,ARG2,TYPE=L ; .IRP CC,\SMAC..LBLN .IF IDN,, ..NOOR = 0F SMAC.GENTST , , , , <_.'CC'.4>, SMAC..NORM .IF_FALSE ;G SMAC.GENTST , , , , <_.'CC'.3>, SMAC..BRREV .ENDC .ENDR .IF NB, ;/ SMAC.WHILE <>, <>, , , , , -% , , , , C2, T2 .ENDC .ENDM SMAC.WHILEww­ÙþŠB .MACRO SMAC.BRKNXT T1, C1, T2, C2, T3, C3!, T4, C4, T5, C5, T6, C6; ..NOOR = 1@ SMAC.IF ,,,,,,,,,,C1,T1 .IF EQ,..NOOR ; SMAC.TAG \SMAC..LBLN,2 .ENDC SMAC.PUSH \SMAC..LBLN,\SMAC..IF SMAC..LBLN = SMAC..LBLN + 1 .ENDM SMAC.BRKNXTww­àlŽŠ .MACRO SMAC.INI; SMAC..INI = 1 ; SMAC..IF = 1 ; SMAC..REPEAT = 5 SMAC..WHILE = 6 SMAC..ELSE = 2 SMAC..BRREV = 1 ; SMAC..NORM = 0 SMAC..SP = 0 ; SMAC..LBLN = 0 ; SMAC..LONGM = 0 ;"( .IIF NDF,SMAC..LISTON, SMAC..LISTON = 0 $DSCDEF .MACRO SMAC.INI ; .ENDM SMAC.INI .ENDM SMAC.INIww­`‡ ŽŠ# .MACRO SMAC.GENBR REL, DEST, SENSE ..LCP = %LENGTH(REL) - 1 ;" .IF IDN,%EXTRACT(..LCP,1,REL),0 SMAC.%EXTRACT(0,..LCP,REL) , U, .IF_FALSE SMAC.'REL , <>,  .ENDC .ENDM SMAC.GENBRww­ ” ŽŠ6 .MACRO SMAC.GENTST REL, ARG1, ARG2, TYPE, DEST, SENSE .IF BLANK,REL$ .ERROR ; Relation not spe#cified .MEXIT .ENDC .IF BLANK,ARG2 ; .IF BLANK,ARG1 ;( SMAC.GENBR , , ; .IF_FALSE$ .IF DIF,%EXTRACT(0,2,REL),; .IF DIF,REL,OKAY ; .IF DIF,REL,ERROR;! SMAC.EMIT * SMAC.GENBR , , ; .MEXIT .ENDC .ENDC .ENDC;, SMAC.GENBR , ,  .ENDC .IF_FALSE! .IF DIF,%EXTRACT(0,1,REL),;# SMAC.EMIT & SMAC.GENBR , , .IF_FALSE0 SMAC.GENBR , ,  .ENDC .ENDC .ENDM SMAC.GENTSTww­ ÉŽŠ* .MACRO SMAC.GSLB REL, DEST, SIGNED, SENSE .IF EQ,SMAC..LONGM ;/ SMAC.SHORTB , , , .MEXIT .ENDC .IF NDF,DEST ;0 SMAC.LONGB , , , ; .MEXIT .IF_FALSE .IF LT,<128-<.-DEST>> ;0 SMAC.LONGB , , , .MEXIT % .IF_FALSE1 SMAC.SHORTB , , , .MEXIT .ENDC .ENDC .ENDM SMAC.GSLBww­Àj ŽŠ1 .MACRO SMAC.GSLB.B REL, SENSE, ARG1, DEST, DUMMY;;; .IF NB,DUMMY;;3 SMAC.GSLB.B , , , .MEXIT .IF_FALSE; .IF EQ,SMAC..LONGM ;1 SMAC.SHORTB.B , , , .MEXIT .ENDC .IF NDF,DEST ;2 SMAC.LONGB.B , , , ; .MEXI&T .IF_FALSE .IF LT,<128-<.-DEST>> ;2 SMAC.LONGB.B , , , .MEXIT .IF_FALSE3 SMAC.SHORTB.B , , , .MEXIT .ENDC .ENDC .ENDC .ENDM SMAC.GSLB.Bww­â;ŽŠ, .MACRO SMAC.SHORTB REL, DEST, SIGNED, SENSE .IF DIF,SENSE,SMAC..BRREV ; SMAC.EMIT .MEXIT .IF_FALSE SMAC.R'REL , .MEXIT .ENDC .ENDM SMAC.SHORTBww­€ü'AŽŠ2 .MACRO SMAC.LONGB REL, DEST, SIGNED, SENSE, ?LBL1;; .IF IDN,SENSE,SMAC..BRREV ; SMAC.EMIT .IF_FALSE SMAC.R'REL ,  .ENDC SMAC.EMIT  SMAC.EMITL  .ENDM SMAC.LONGBww­HŽŠ, .MACRO SMAC.SHORTB.B REL, ARG1, DEST, SENSE; .IF DIF,SENSE,SMAC..BRREV ; SMAC.EMIT .MEXIT .IF_FALSE SMAC.R'REL , .MEXIT .ENDC .ENDM SMAC.SHORTB.Bww­ ¸OŽŠ(2 .MACRO SMAC.LONGB.B REL, ARG1, DEST, SENSE, ?LBL1;;; .IF IDN,SENSE,SMAC..BRREV ; SMAC.EMIT .IF_FALSE SMAC.R'REL ,  .ENDC SMAC.EMIT  SMAC.EMITL  .ENDM SMAC.LONGB.Bww­Às]ŽŠ .MACRO SMAC.TAG LBL, SUFFIX SMAC.EMITL <_.'LBL'.'SUFFIX> .ENDM SMAC.TAGww­`ú^ŽŠ .MACRO SMAC.EMIT VAL .IIF NE,SMAC..LISTON, .SHOW ME VAL! .IIF NE,SMAC..LISTON, .NOSHOW ME .ENDM SMAC.EMITww­)À¨iŽŠ .MACRO SMAC.EMITL VAL .IIF NE,SMAC..LISTON, .SHOW MEVAL:! .IIF NE,SMAC..LISTON, .NOSHOW ME .ENDM SMAC.EMITLww­¶lŽŠ .MACRO SMAC.PUSH LBL,TYP SMAC..SP = SMAC..SP + 1 .IRP CC, \SMAC..SP SMAC..STKT'CC = TYP SMAC..STKL'CC = LBL .ENDR .ENDM SMAC.PUSHww­àIqŽŠ .MACRO SMAC.PEEK LBL,TYP,LEV=0 .IF LE,SMAC..SP-LEV4 .ERROR ; Incorrect nesting or missing statemnt. .MEXIT .IF_FALSE ..TMP = SMAC..SP - LEV .IRP CC*,\..TMP LBL = SMAC..STKL'CC TYP = SMAC..STKT'CC .ENDR .ENDC .ENDM SMAC.PEEKww­@ø{ŽŠ .MACRO SMAC.POP LBL,TYP SMAC.PEEK ,  SMAC..SP = SMAC..SP - 1 .ENDM SMAC.POPww­€:‹ŽŠ$ .MACRO SMAC.BC DEST, SIGNED, SENSE; SMAC.GSLB.B , , DEST .ENDM SMAC.BCww­ÀGŽŽŠ$ .MACRO SMAC.BS DEST, SIGNED, SENSE; SMAC.GSLB.B , , DEST .ENDM SMAC.BSww­`ÎŽŠ% .MACRO SMAC.LBS DEST, SIGNED+, SENSE;! SMAC.GSLB.B , , DEST .ENDM SMAC.LBSww­U‘ŽŠ% .MACRO SMAC.LBC DEST, SIGNED, SENSE;! SMAC.GSLB.B , , DEST .ENDM SMAC.LBCww­@b”ŽŠ' .MACRO SMAC.ERROR DEST, SIGNED, SENSE;;! SMAC.GSLB.B , , DEST .ENDM SMAC.ERRORww­à蕎Š& .MACRO SMAC.OKAY DEST, SIGNED, SENSE;;! SMAC.GSLB.B , , DEST .ENDM SMAC.OKAYww­€o—ŽŠ .MACRO SMAC.B DEST, SIGNED SMAC.,EMIT .ENDM SMAC.Bww­À|šŽŠ$ .MACRO SMAC.EQL DEST, SIGNED, SENSE+ SMAC.GSLB , , ,  .ENDM SMAC.EQLww­`œŽŠ$ .MACRO SMAC.NEQ DEST, SIGNED, SENSE+ SMAC.GSLB , , ,  .ENDM SMAC.NEQww­ŠŽŠ$ .MACRO SMAC.LEQ DEST, SIGNED, SENSE+ SMAC.GSLB , , ,  .ENDM SMAC.LEQww­ ŸŽŠ$ .MACRO SMAC.GEQ DEST, SIGNED, SENSE+ SMAC.GSLB , , ,  .ENDM SMAC.GEQww­à¢ŽŠ$ .MACRO SMAC.LSS DEST, SIGNED, SENSE+ SMAC.GSLB , , ,  .ENDM SMAC.LSSww­€¤£ŽŠ$ .MACRO SMAC.GTR DEST, SIGNED, SENSE+ SMAC.GSLB , , ,  .ENDM SMAC.GTRww­ +¥ŽŠ# .MACRO SMAC.VS DEST, SIGNED, SENSE* SMAC.GSLB , , ,  .ENDM SMAC.VSww­¿©ŽŠ# .MACRO SMAC.VC DEST, SIGNED, SENSE* SMAC.GSLB , , , <.SENSE> .ENDM SMAC.VCww­ E«ŽŠ# .MACRO SMAC.SC DEST, SIGNED, SENSE* SMAC.GSLB , , ,  .ENDM SMAC.SCww­ôµŽŠ# .MACRO SMAC.CC DEST, SIGNED, SENSE* SMAC.GSLB , , ,  .ENDM SMAC.CCww­ z·ŽŠ" .MACRO SMAC.W DEST, SIGNED, SENSE) SMAC.GSLB , , , .ENDM SMAC.Www­@¹ŽŠ .MACRO SMAC.REQL DEST, SIGNED SMAC.EMIT  .ENDM SMAC.REQLww­/)ÂŽŠ .MACRO SMAC.RNEQ DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RNEQww­@6ÅŽŠ .MACRO SMAC.RGTR DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RGTRww­^ÎŽŠ .MACRO SMAC.RLSS DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RLSSww­àñÒŽŠ .MACRO SMAC.RGEQ DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RGEQww­ 4⎊ .MACRO SMAC.RLEQ DEST, SIGNED SMAC.EMIT  .ENDM0 SMAC.RLEQww­ÀºãŽŠ .MACRO SMAC.RVC DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RVCww­@Õ鎊 .MACRO SMAC.RVS DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RVSww­€â쎊 .MACRO SMAC.RCC DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RCCww­Àï .MACRO SMAC.RSC DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RSCww­`vñŽŠ .MACRO SMAC.RLBC ARG1, DEST SMAC.EMIT  .ENDM SMAC.RLBCww­@ öŽŠ .MACRO SMAC.RLBS ARG1, DEST SMAC.EMIT  .ENDM SMAC.RLBSww­ ¸Š .MACRO SMAC.RBS ARG1, DEST SMAC.EMIT  .ENDM SMAC.RBSww­@?Š .MACRO SMAC.RBC ARG1, DEST SMAC.EMIT  .ENDM SMAC.RBCww­ ÓŠ .MACRO SMAC.RW DEST, SIGNED SMAC.EMIT  .ENDM SMAC.RWww­€Š> .MACRO BREAK BRKID, IFDUM,T1,C1,T2,C2,T3,C3,T4,C4,T5,C5,T6,2C6; .IF NDF, SMAC..INI0 .ERROR ; BREAK occurs before any structures .MEXIT .ENDC .IF IDN,BRKID, ;" SMAC.PEEK ..LBL, ..TYP, LEV=0 ; .IF LE,..TYP-4 ;0 .ERROR ; Can't BREAK from an IF structure .MEXIT .IF_FALSE;B SMAC.BRKNXT ,,,,,,,,,- ,, .IRP CC,\..LBL SMAC.EMIT .ENDR ENDIF .ENDC .IF_FALSE ;;B SMAC.BRKNXT ,,,,,,,,,,- , SMAC.EMIT  ENDIF .ENDC .ENDM BREAKww­Ñ#Š= .MACRO NEXT NXTID, IFDUM,T1,C1,T2,C2,T3,C3,T4,C4,T5,C5,T6,C6; .IF NDF, SMAC..INI/ .ERROR ; NEXT occurs before any structures .MEXIT .ENDC .IF IDN,NXTID, ;" SMAC.PEEK ..LBL, ..TYP, LEV=0 ; .IF LE,..TYP-4 ;- .ERROR ; Can't NEXT in an IF structure .MEXIT .IF_FALSE;B SMAC.BRKNXT ,,,,,,,,,- ,, .IRP CC,\..LBL SMAC.EMIT .ENDR ENDIF .ENDC .IF_FALSE ;;B SMAC.BRKNXT ,,,,,,,,,,- , SMAC.EMIT  ENDIF .ENDC .ENDM NEXTww