.TITLE MR12.. STRING PROCEDURES IN MACRO .IDENT /MR12../ ; .PAGE .SBTTL . STRING ADDITION ROUTINE ; ; ; R$ADDTO:: ;ADD ONE STRING TO ANOTHER ; ; ENTRY CONDITIONS ; ; R1 -> STRING (A) ; R2 -> STRING (B) ; ; EXIT CONDITIONS ; ; STRING (B) IS APPENDED TO STRING (A) ; SAVE R0,R3,R4 ;SAVE R0,R3 AND R4 ; MOV (R2),R0 ;HOLD COUNT OF NUMBER OF CHARS TO TRANSFER BLE 60$ ;J IF NO CHARACTER TO COPY MOV R1,R3 ;HOLD ADDRESS OF MASTER STRING ADD @R1,R3 ;INDEX TO NEXT FREE SLOT CMPB (R3)+,(R3)+ ;R3 -> TO FIRST FREE SLOT ; MOV R2,R4 ;HOLD ADDRESS OF APPEND STRING CMPB (R4)+,(R4)+ ;R4 -> TO FIRST CHARACTER ; 50$: CMP -2(R1),@R1 ;IS STRING FULL BLE 60$ ;J IF STRING FULL OR WRITE PROTECTED MOVB (R4)+,(R3)+ ;APPEND A CHARCATER AND INDEX TO NEXT CHAR INC @R1 ;INDEX CHARACTER COUNT SOB R0,50$ ;LOOP TILL EITHER APPEND SOURCE EXAUSTED ;OR MASTER STRING FULL ; 60$: UNSAVE R0,R3,R4 ;RESTORE R0,R3 & R4 RETURN ;EXIT TO CALLING ROUTINE ; ; .END ; ;