.TITLE MG10.. STRING BLOCK TRANSFER PREPROCESSOR FOR V$TX .IDENT /MG10../ ; .PAGE .SBTTL BLOCK TRANSFER ; V$TXB:: ;BLOCK TRANSFER TO VDU OUTPUT CHANNEL ; ; ENTRY CONDITIONS ; DATA BLOCK/STRING FOLLOWS THE CALL TO THIS PROCEDURE ; ; EXIT CONDITIONS ; NONE ; SAVE R0,R1 ;PROTECT USED REGISTERS MOV SP,R1 ;HOLD STACK POINTER ADDRESS ADD #4,R1 ;POINT TO STRING ADDRESS POINTER MOV @R1,R0 ;HOLD STRING ADDRESS ADD @R0,@R1 ;MODIFY RETURN ADDRESS TO BYPASS CHARACTERS INC @R1 ;FUDGE ADDRESS TO BYPASS STRING LENGTH INC @R1 ;SAME FIDDLE NOTE TWO BYTES FOR LENGTH BIT #1,@R1 ;IS ADDRESS STILL IN GROTTY ODD FORM BEQ 10$ ;EVEN ADDRESS BY CHANCE INC @R1 ;GROTT ADDRESS TILL IT MAKES GOOD 10$: CALL V$TX ;OUTPUT STRING TO TERMINAL UNSAVE R0,R1 ;PUT REGISTERS BACK INTO ORDER RETURN ;BACK TO CALLING PROGRAM IF GROTTING OK ; ; .END ; ; ; ; ; ;