-1,1 $BEGIN PARSDV,<28.P>, -39 ; ; Modified 28-DEC-82 RJDK - for TLOG$S logical names for PC350 ; -64 .IF DF PRONAM CALL PCDEV .ENDC -99 .IF DF PRONAM PCDEV:: CMPB (R5),#137 ; does logical start underscore BEQ 20$ ; yes skip it MOV @#.FSRPT,R4 MOV R4,R3 ; make address for results ADD #A.IOST,R3 ; here is returned length ADD #A.DPB,R4 ; here is buffer for translates MOV R4,-(SP) ; we need this again MOV R2,-(SP) ; this is size of current string ; pointed to by R5 1$: MOVB (R5)+,(R4)+ ; copy to tx buffer SOB R2,1$ ; and make sure MOV (SP)+,R2 ; get length back CMPB -1(R4),#': ; its got ":" on end BEQ 2$ ; MOVB #':,(R4)+ ; else store one at end INC R2 ; and note in count 2$: MOV (SP)+,R4 ; get address back again MOV R3,R5 ; and make junk area ptr for mod/tbl ADD #2,R5 3$: TLOG$S #0,,#0,R4,R2,R4,#26.,R3,R5 ; overwrite, length in R3 BCS 9$ ; no more translates work MOV (R3),R2 ; get returned length back CMPB (R4),#137 ; is this underscore? BNE 3$ ; no - continue DEC R2 ; one less char INC R4 ; ignore it 9$: MOV R4,R5 ; get text pointer back RTS PC 20$: INC R5 DEC R2 ; junk the underscore RTS PC .ENDC /