$MACRO LEN string ?? 2 mov #@{1},r0 #@2=. tstb (r0)+ bne #@2 sub #@{1},r0 dec r0 $ENDM / program val AUTO sign FUNCTION val[s,base] mov #1,sign(r5) mov s(r5),r0 clr r3 DO FOREVER IFB (r0) = #0 RET r3 * sign FI IFB (r0) = #'- neg sign(r5) inc r0 ;next char ELSEIFB (r0) = #'+ inc r0 ELSE movb (r0)+,r2 BIC #177400,r2 LET r3 = r3 * base + r2 - #'0 FI OD .end