$MACRO ALL VAR JSR PC,$$RES RES.STR #@{1} @#$$RES1 $ENDM ; - - - - - - - - - - - - - - - - - - - - - - - $MACRO FRE MOV (SP),R0 ADD R0,SP $ENDM ; - - - - - - - - - - - - - - - - - - - - - - - $MACRO RES.STR ; NAME,SIZE SUB #@2,SP SUB #10.,SP MOV #1,-(SP) MOV #@2,-(SP) ADD #8.,(SP) MOV SP,#@1 MOV #@1,-(SP) JSR PC,INI ADD #6.,(SP) JSR PC,$$$STK $ENDM ; - - - - - - - - - - - - - - - - - - - - - - - $MACRO print ** p%%t <#@*(1"Z)> $ENDM ; - - - - - - - - - - - - - - - - - - - - - - - $MACRO p%%t printf "#@1=(%d)(%o)" <#@1> <#@1> $ENDM ; - - - - - - - - - - - - - - - - - - - - - - - $MACRO LEN string ?? 2 mov #@{1},r0 #@2=. tstb (r0)+ bne #@2 sub #@{1},r0 dec r0 $ENDM / program init2 function init2 push #$stack jsr pc,$$$$in zero sp1,sp2 mov #-1,lnumber ret .end