.TITLE MRC1.. CHARACTER PROCEDURES IN MACRO ; .IDENT /MRC1../ ; .PAGE .SBTTL . CHARACTER WITHIN STRING MANIPULATION ROUTINES .SBTTL . GET CHARACTER FROM WITHIN A STRING ; ; ; R$GETC:: ;EXTRACT A CHARACTER FROM A STRING ; ; ENTRY CONDITIONS ; ; R1 -> STRING TO PROCESS ; R2 = CHARACTER POSITION TO EXTRACT ; ; EXIT CONDITIONS ; ; R0 = EXTRACTED CHARACTER ; EXITERROR IF INVAILD 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 @R3,R0 ;HOLD CHARACTER IN R0 UNSAVE R3 ;RESTORE REGISTER 3 ; EXITSUCCESS ;EXIT INDICATING SUCCESS 10$: EXITERROR ;EXIT INDICATING FAIL ; ; .END ; ; ;