* * $Id: vmrtnea.s,v 1.1.1.1 1996/02/15 17:51:55 mclareni Exp $ * * $Log: vmrtnea.s,v $ * Revision 1.1.1.1 1996/02/15 17:51:55 mclareni * Kernlib * * #if !defined(CERNLIB_QCMS4) PRINT NOGEN VMRTNE CSECT #if defined(CERNLIB_QMIBMXA) VMRTNE AMODE ANY VMRTNE RMODE ANY #endif * * Read a line with echo turned off. Based on VMRTRM * USING VMRTNE,R15 ESTABLISH ADDRESSABILITY DS 0H ALIGN B VMRTNEN BRANCH AROUND THE NAME DC AL1(7) LENGTH OF NAME DC C'VMRTNE' DEFINE THE NAME VMRTNEN SAVE (14,12) SAVE THE REGS LR R12,R15 SET UP THE BASE DROP R15 ADDRESSABILITY REESTABLISHED USING VMRTNE,R12 ESTABLISH ADDRESSABILITY L R2,0(R1) POINTER TO CHAR STRING ADDRESS LR R3,R1 COPY R1 S R3,=F'4' POINT TO ARG LENGTH BLOCK DISPLACEMENT L R3,0(R3) PICK UP THE ARG LEN BLOCK DISPLACEMENT AR R3,R1 COMPUTE THE ARG LEN BLOCK ADDRESS L R3,0(R3) GET LENGTH POINTER ADDRESS L R3,0(R3) GET THE LENGTH OF THE CHAR VARIABLE LA R6,LREAD DEFAULT LENGTH OF STRING READ TM 0(R1),X'80' IS THERE A SECOND ARG BO ENDARG2 BRANCH IF NO SECOND ARG L R6,4(R1) POINT R6 AT LENGTH ADDRESS * NOW DO THE READ ENDARG2 LINERD DATA=((R2),(R3)),CASE=MIXED,TYPE=INVISIBLE,WAIT=YES ST R0,0(R6) SAVE THE LENGTH ACTUALLY READ RETURN (14,12) GO BACK TO THE FORTRAN * * DATA AREAS LREAD DS 1F DUMMY LENGTH READ BLANKR5 DC C' ',X'000000' BLANK CHAR OF ZERO LENGTH * REGEQU END #endif