; ~1,$i&\n $MACRO CMPL ?? 3 CMP #@1+2(R5),#@2+2(R5) BNE #@3 CMP #@1(R5),#@2(R5) #@3=. $ENDM ; $MACRO ADDL ADD #@1(R5),#@2(R5) ADC #@2+2(R5) ADD #@1+2(R5),#@2+2(R5) $ENDM ; $MACRO SUBL SUB #@1(R5),#@2(R5) SBC #@2+2(R5) ADD #@1+2(R5),#@2+2(R5) $ENDM ; $MACRO MOVL MOV #@1(R5),#@2(R5) MOV #@1+2(R5),#@2+2(R5) $ENDM ; $MACRO MOVI I%DIN SXT #@2+2(R5) $ENDM ; / program tests auto a[4],b[4],c[4],c[4],aa,bb function main[argc,argv] aa := val[.argv[1],10] bb := val[.argv[2],10] movi aa,a movi bb,b addl a,a addl b,b movl a,c addl b,c printf "a=%ld b=%ld c=%ld" a+2(r5) a b+2(r5) b c+2(r5) c cmpl a,b if gt printf "a gt b" fi cmpl a,b if lt printf "a lt b" fi cmpl a,b if eq printf "a eq b" fi cmpl a,b if ne printf "a ne b" fi ret .end