.TITLE MRC2.. CHARACTER PROCEDURES IN MACRO ; .IDENT /MRC2../ ; .PAGE .SBTTL . MODIFY A CHARACTER WITHIN A STRING ; ; ; R$MODC:: ;REPLACE A CHARACTER IN A STRING ; ; ENTRY CONDITIONS ; ; R0 = REPLACEMENT CHARACTER ; R1 -> CHARACTER STRING ADDRESS ; R2 = CHARACTER POSITION TO MODIFY ; ; EXIT CONDITIONS ; ; EXITERROR IF INVALID CONDITIONS ; ; TST R2 ;IS POSITION VALUE VALID BLE 10$ ;J IF INVALID POS IE <=0 CMP @R1,R2 ;WILL POSITION PASS END OF STRING BLT 10$ ;J IF END OF STRING ; SAVE R3 ;SAVE REGISTER 3 MOV R1,R3 ;HOLD START ADDRESS OF STRING INC R3 ;INDEX TO CHARACTER POSITION ADD R2,R3 ;R3 -> TO ACTUAL CHARACTER ADDRESS MOVB R0,@R3 ;REPLACE CHARACTER WITH CONTENTS OF R0 UNSAVE R3 ;RESTORE REGISTER 3 ; EXITSUCCESS ;EXIT INDICATING SUCCESS 10$: EXITERROR ;EXIT INDICATING FAIL ; ; .END ; ;