.TITLE MR14.. STRING PROCEDURES IN MACRO ; .IDENT /MR14../ ; .PAGE .SBTTL . REGISTER CONTROLED SEGMENT PROCEDURE ; ; ; R$SEG:: ;EXTRACT SEGMENT OF A CHARACTER STRING ; ; ; ENTRY CONDITIONS ; R1 -> INPUT STRING ; R2 = START POSITION ; R3 = END POSITION ; R4 -> OUTPUT STRING ; ; EXIT CONDITIONS ; R4 -> OUTPUT STRING ; ; CLR @R4 ;SET OUTPUT STRING LENGTH TO ZERO ; 20$: CMP R3,R2 ;? ALL CHARACTERS EXTRACTED BLT 30$ ;J IF ALL CHARACTERS EXTRACTED CALL R$GETC ;GET A CHARACTER INTO R0 IFERROR 30$ ;J IF GET CHARACTER ERROR CONDITION INC R2 ;POINT TO NEXT CHARACTER POSITION CALL R$ADDC ;ADD CHARACTER TO OUTPUT STRING BR 20$ ;LOOP TO END OF SEGMENT ; 30$: RETURN ;EXIT WITH R2 -> AT LAST CHARACTER ; ; .END ;