.TITLE INFOTS.MAC 83b08a 03-FEB-83/08-FEB-83. .ENABL LC ; AUTHOR: N. A. BOURGEOIS, JR. ; SANDIA NATIONAL LABORATORIES ; SYSTEMS ENGINEERING DIVISION 9238 ; PO BOX 5800 ; ALBUQUERQUE, NM 87185 ; 505-844-8088 ; AV 244-8088 ; ; THIS SOFTWARE IS ISSUED BY SANDIA NATIONAL LABORATORIES, ; OPERATED FOR THE UNITED STATES DEPARTMENT OF ENERGY BY ; SANDIA CORPORATION. ; ; NOTICE ; ; THIS SOFTWARE WAS SPONSORED BY THE UNITED STATES ; GOVERNMENT. NEITHER THE UNITED STATES GOVERNMENT NOR ; THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF THEIR ; EMPLOYEES, NOR ANY OF THEIR CONTRACTORS, SUBCONTRACTORS, ; OR THEIR EMPLOYEES MAKES ANY WARRANTY, EXPRESS OR ; IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR ; RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS OR ; USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT OR ; PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT ; INFRINGE PRIVATELY OWNED RIGHTS. ; ; THIS WORK WAS SPONSORED AND FUNDED BY: ; ; HEADQUARTERS, ESD / OCB / STOP 36 ; HANSCOM AIR FORCE BASE, MA 01731 ; ; .SBTTL **************** .SBTTL * * .SBTTL * UNCLASSIFIED * .SBTTL * * .SBTTL **************** .PAGE .SBTTL DESCRIPTION 03-FEB-83/04-FEB-83. ; This program demonstrates the initialization of the FORTRAN IV/RT-11 ; V2.5 operating time system (OTS) from a MACRO-11 program. The ; FORTRAN subroutine JUNK that is called consists of the following: ; ; SUBROUTINE JUNK ; 1 FORMAT (/,' JUNK: a FORTRAN subroutine',/,/) ; END .SBTTL DIRECTIVES 03-FEB-83/08-FEB-83. .IDENT \83b08a\ ;version code .NLIST BEX ;binary extensions ; Put FORTRAN's program sections in their proper sequence. .ASECT .PSECT OTS$I RW,I,LCL,REL,CON .PSECT OTS$P RW,D,GBL,REL,OVR .PSECT SYS$I RW,I,LCL,REL,CON .PSECT USER$I RW,I,LCL,REL,CON .PSECT $CODE RW,I,LCL,REL,CON .PSECT OTS$O RW,I,LCL,REL,CON .PSECT SYS$O RW,I,LCL,REL,CON .PSECT $DATAP RW,D,LCL,REL,CON .PSECT OTS$D RW,D,LCL,REL,CON .PSECT OTS$S RW,D,LCL,REL,CON .PSECT SYS$S RW,D,LCL,REL,CON .PSECT $DATA RW,D,LCL,REL,CON .PSECT USER$D RW,D,LCL,REL,CON .PSECT .$$$$. RW,D GBL,REL,OVR .SBTTL ASSIGNMENTS 03-FEB-83/08-FEB-83. .ASECT $HRDWR == 0 ;hardware flag (0 = NHD, 4 = EIS, ; 6 = FIS, 10 = FPU) $LRECL == 210 ;output line record length (characters) $NLCHN == 6 ;number of I/O channels (logical units) $RF2A1 == 0 ; ? $TRACE == 4737 ; ? $USRSW == 0 ;USR swap flag (0 = swap, 1 = noswap) $WASIZ == 152 ;initial work area size .VIR == 0 ;virtual array flag (0 = no, 1 = yes) .PAGE .SBTTL MACRO CODE 03-FEB-83/08-FEB-83. .PSECT OTS$I $$OTSI:: .PSECT $CODE .GLOBL LSN$,$OTI ;OTS globals .GLOBL JUNK ;demonstration FORTRAN subroutine .MCALL .EXIT,.PRINT ;system services used INFOTS:: ;entry point .PRINT #MSG01 ;entry notification JSR R4,$OTI ;call FORTRAN's initialization .WORD NAMPTR ;pointer to program name in $DATAP .WORD LSN$ ;pointer to internal line number routine .WORD 2 ; ? .WORD .+2 ;exit the OTS threaded code mode CALL JUNK ;FORTRAN subroutine .PRINT #MSG02 ;exit notification .EXIT ;exit point .PSECT $DATAP NAMPTR: .RAD50 \INFOTS\ ;program name .WORD 0 ;number of arguments .WORD DATPTR ;pointer to $DATA program section .PSECT OTS$D .GLOBL $LRECL ;output line .WORD $LRECL ; record length .WORD 0 ; ? .PSECT OTS$S $AOTS:: .BLKW $WASIZ ;work area .PSECT $DATA DATPTR: .PSECT USER$D MSG01: .ASCIZ \INFOTS: Entry\ MSG02: .ASCIZ \INFOTS: Exit\ .PSECT .$$$$. .END INFOTS