.TITLE EDTX$XLATE - interface XLATE function to Fortran routine .IDENT /V1.0/ ;++EDTXXLATE.MAR ; ; Facility: ; EDTX - EDT-eXtended (uses Callable EDT interface) ; ; Abstract: ; This routine interfaces the XLATE call from EDT to the Fortran routine ; which interprets and processes the XLATE subfunctions. The purpose of ; this routine is to get around VAX FORTRAN V4.3's mucking with the ; input character descriptor: if the LIB$SCOPY_DXDX call is used in the ; FORTRAN code (the dst-str is the input CHARACTER*(*) to the FORTRAN ; routine), the compiler-generated code copies the string address and ; length into an internal string descriptor which is what gets passed to ; the LIB$ routine - the original (dynamic) string descriptor address ; IS NOT USED! ; ; Environment: ; Called by EDTSHR upon seeing XLATE, calls EDTX$$$XLATE to process. ;-- ; ; Author: Frank J. Nagy Fermilab Accelerator Controls ; Modification History: ; ; V1.0 15-Nov-85 FJN Created ; ; Externals .EXTERNAL EDTX$$$XLATE ; Macro library calls $SSDEF ; ; Program section for code and pure data ; .PSECT _EDTX_CODE,PIC,USR,CON,REL,LCL,SHR,EXE,NOWRT,RD .SHOW BINARY REFRESH: ; EDT command to refresh screen .ASCID /REF/ .ENTRY EDTX$XLATE,^M<> CALLG (AP),EDTX$$$XLATE ; Call my Fortran routine PUSHAQ @04(AP) ; Destination string descriptor addr. PUSHAQ REFRESH ; Source string (REF command) CALLS #2,G^LIB$SCOPY_DXDX ; Returns 'REF' to EDT MOVZWL #SS$_NORMAL,R0 ; Always return NORMAL status RET .END