.TITLE GCML ; ; ; GCML ; May be called as either CHARACTER*N GCML,RES ; RES = GCML() or as CHARACTER*N RES ; CALL GCML(RES). ; .LIBRARY /SYS$LIBRARY:LIB.MLB/ .LIST ME GETCMD: $CLIREQDESC RQTYPE = CLI$K_GETCMD GCML:: .WORD ^M MOVL FP,R11 LOOP: MOVL R9,R8 MOVL R10,R9 MOVL R11,R10 MOVL 12(R10),R11 BNEQ LOOP MOVL 8(R8),R8 PUSHAB W^GETCMD CALLS #1,@CLI$A_UTILSERV(R8) ; MOVL 4(AP),R11 ;R11 is descriptor address ; MOVL 4(R11),R10 ;R10 has destination address ; MOVZWL (R11),R11 ;R11 is destination length ; MOVC5 GETCMD+CLI$Q_RQDESC,@GETCMD+CLI$Q_RQDESC+4, - ; #^X20,R11,(R10) ;transfer characters across MOVAL @4(AP),R11 MOVC5 GETCMD+CLI$Q_RQDESC,@GETCMD+CLI$Q_RQDESC+4, - #^A/ /,(R11),@4(R11) RET .END