$MACRO LEN string ?? 2 mov #@{1},r0 #@2=. tstb (r0)+ bne #@2 sub #@{1},r0 dec r0 $ENDM / PROGRAM seg FUNCTION SEG[s,in,from,too] LEN in IF too GT r0 mov r0,too(r5) FI IF from LE #0 mov #1,from(r5) FI IF too LT from OR r0 LT from OR r0 LE #0 5$: clrb @s(r5) clr r0 RET FI IF too GT r0 mov r0,too(r5) FI LET r0 = in + from - #1 mov s(r5),r1 LET r2 = too - from + #1 mov r2,r3 IF GT 10$: movb (r0)+,(r1)+ sob r2,10$ ELSE jmp 5$ FI clrb (r1) RET r3 .end