; "READSTRING used by DFL to allow reading of RSUBRs."
>>
; ",MUDDLE"
; "E IS -1 IF THIS IS BAGBITING 10X"
; "CHANNEL"
; "LENGTH OF BUFFER"
; "USE BUFFER, IF IT EXISTS"
DOREAD ; "LENGTH OF DEST STRING"
; "JFN"
; "NUMBER OF WORDS"
; "MAKE BPTR"
; "DO IT"
; "# CHARACTERS NOT READ"
; "# CHARACTERS TO READ"
; "READ EVERYTHING, SO DONE"
]> ; "OTHERWISE, RETURN FUNNINESS"
; "NEGATIVE THE NUMBER OF WORDS"
; "DEST STRING"
; "MAKE IT POINT TO RIGHT WORD"
; "AOBJN POINTER"
; "CHANNEL NUMBER"
; "TO AC FIELD"
]> ; "IO INSTRUCTION"
; "DO IT"
; "IF RAN OUT OF WORDS IN FILE"
DOUPD ; "UPDATE ACCESS POINTER"
DOLEAV >
]>
; "RETURN LENGTH OF STRING"
ENDHAK ; "# OF WORDS NOT READ"
ENDHAK1 ; "TO CHARACTERS"
; "# OF CHARACTERS READ"
; "CHANNEL IS IN A, LENGTH OF BUFFER IS IN C, DEST STRING IS -2(TP)"
USEBUF ; "SAVE BUFFER LENGTH"
; "# WORDS IN BUFFER, ALMOST"
NOREM ; "NEW MUDDLE ACCESS POINTER"
; "# WORDS"
; "JFN"
; "ACCESS POINTER"
]>
<*CALL ACC> ; "UPDATE CHANNEL ACCESS"
; "# OF WORDS TO SKIP OVER IS IN C"
DIDACC ; "GET BPTR"
; "MUNG RH"
; "MUNG LH"
; "SET STRING LENGTH TO 0"
ACC
<(1) A> ; "CHANNEL NUMBER"
; "NEW ACCESS POINTER"