.TITLE COMMAN .IDENT /180684/ ; ; 20.3.84 H.-J. MAY SKN/QPL ; ;+ UP ZUR UEBERGABE DER COMMANDLINE IM RSX ; AN FORTRANPROGRAMM (VERWENDET IN STATISTIK- ; PAKET FA. ESS GMBH) ; AUFRUF IM FORTRAN: ; CALL COMMAN(IQ,BUF,NR) MIT IQ = ANZAHL ZEICHEN ; UND BUF= ADRESSE FUER ASCII-ZEICHEN ; NR = ADRESSE FUER TAKTNUMMER ; DEFINITIONEN IM FORTRAN: ; BYTE BUF(80) ;- .MCALL GMCR$,DIR$ .PSECT COMCOD,I ; COMMAN:: ;BEGINN UP TST (R5)+ ;POINTER FUER ANZAHL PARAM. MOV (R5)+,IQ ;IQ MOV (R5)+,KOM ;KOMMANDOADR. IM FORTR. MOV (R5)+,NR ;TAKTNR IM FORTR. DIR$ #GMCR ;COMMANDLINE HOLEN MOVB GMCR+G.MCRB+2,@NR 11$: CMPB #15,@POINT0 ;ABFR.,OB KEINE COMM.LINE BEQ INPUT CMPB #33,@POINT0 BEQ INPUT CMPB #40,@POINT0 ;DIESES ZEICHEN BLANK ? BEQ 12$ ;JA - OK INC POINT0 ;SONST WEITERSUCHEN INC POINT1 BR 11$ 12$: CLR POINT0 ;JETZT ZAEHLER F. ZEICHEN MOV POINT1,R1 MOVB (R1),STNR ;Global Stationsnummer fuer EPR II MOV KOM,R2 ;ADRESSEN UMSPEICHERN 1$: MOVB (R1)+,(R2)+ ;KOMMANDO UMSPEICHERN INC POINT0 ;ZEICHENZAEHLER ERHOEHEN CMPB #33,(R1) BEQ 2$ CMPB #15,(R1) ;VERGLEICH MIT BNE 1$ 2$: CLRB (R2) MOV POINT0,@IQ ;ANZ. DER MCR-ZEICHEN RETURN INPUT: MOV #0,@IQ ;KEINE COMMANDLINE RETURN ; ;BUFFER UND AUFRUFE ; .PSECT COMDAT,D GMCR: GMCR$ ;GET MCR COMMAND LINE POINT0: GMCR+G.MCRB+3 ;POINTER F. 0-ZELLE POINT1: GMCR+G.MCRB+4 ;MCR-LINE-BUFFER-POINTER PO1END: GMCR+G.MCRB+81. ;BUFFER-ENDE +1 IQ: .WORD 0 ;ANZAHL COMM.ZEICHEN KOM: .WORD 0 ;POINTER F. KOMM.BUFFER FORTRAN ; ; Speziell fuer EPR II : STNR:: .WORD 0 ; Speziell fuer Pretest: NR: .WORD 0 ;POINTER F. TAKTNUMMERADR. IM FORTRAN .END