fm503.for

来自「开放源码的编译器open watcom 1.6.0版的源代码」· FOR 代码 · 共 376 行 · 第 1/2 页

FOR
376
字号
      PROGRAM FM503

C***********************************************************************00010503
C*****  FORTRAN 77                                                      00020503
C*****   FM503                                                          00030503
C*****                       BLKD2 - (261)                              00040503
C*****   THIS PROGRAM USES FM504 (UNNAMED BLOCK DATA SUBPROGRAM         00050503
C*****   AND SUBROUTINE SN505                                           00060503
C***********************************************************************00070503
C*****  TESTING OF BLOCK DATA SUBPROGRAMS                       ANS REF 00080503
C*****          DATA INTERNAL FORMS                               16    00090503
C*****  THIS SEGMENT USES SEGMENTS 702 AND 703, BLOCK DATA PROGRAM      00100503
C*****  FM504 AND SUBROUTINE SN505                                      00110503
C*****                                                                  00120503
CBB** ********************** BBCCOMNT **********************************00130503
C****                                                                   00140503
C****            1978 FORTRAN COMPILER VALIDATION SYSTEM                00150503
C****                          VERSION 2.1                              00160503
C****                                                                   00170503
C****                                                                   00180503
C****           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO         00190503
C****          NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY           00200503
C****               SOFTWARE STANDARDS VALIDATION GROUP                 00210503
C****                      BUILDING 225  RM A266                        00220503
C****                     GAITHERSBURG, MD  20899                       00230503
C****                                                                   00240503
C****                                                                   00250503
C****                                                                   00260503
CBE** ********************** BBCCOMNT **********************************00270503
C*****                                                                  00280503
C*****  S P E C I F I C A T I O N S  SEGMENT 261                        00290503
C*****                                                                  00300503
C*****  DECLARATION OF VARIABLES IN COMMON BLOCKS                       00310503
C*****  DOUBLE PRECISION AXVD, DVCORR                                   00320503
C*****  COMPLEX AXVC, ZVCORR                                            00330503
C*****  LOGICAL AXVB                                                    00340503
C*****  CHARACTER*6 A6XVK, B6XVK, CVCORR                                00350503
C*****                                                                  00360503
C*****  COMMON /BLK9/ AXVS, BXVS, IXVI, AXVD, AXVC, AXVB                00370503
C*****  COMMON /BLK7/ A6XVK, B6XVK                                      00380503
C*****                                                                  00390503
C*****                                                                  00400503
        CALL SN505                                                      00410503
        STOP                                                            00420503
C*****                                                                  00430503
C*****          END OF TEST SEGMENT 261                                 00440503
        END                                                             00450503

C***********************************************************************00010504
C***** FORTRAN 77                                                       00020504
C*****   FM504                  BDS2 (UNNAMED) - (702)                  00030504
C*****   THIS BLOCK DATA SUBPROGRAM IS USED BY FM503                    00040504
C***********************************************************************00050504
C*****                                                                  00060504
C***** GENERAL PURPOSE                                                  00070504
C*****          THIS SEGMENT CONTAINS A BLOCK DATA SUBPROGRAM THAT IS   00080504
C*****  TO BE RUN WITH TEST SEGMENT 261                                 00090504
C*****          THIS SEGMENT WILL TEST INTERNAL DATA FORMS, AS WELL     00100504
C*****  AS THE USE OF UNNAMED BLOCK DATA PROGRAM                        00110504
C*****                                                                  00120504
        BLOCK DATA                                                      00130504
C*****                                                                  00140504
C*****  DECLARATION OF VARIABLES IN COMMON BLOCKS                       00150504
        DOUBLE PRECISION AXVD                                           00160504
        COMPLEX AXVC                                                    00170504
        LOGICAL AXVB                                                    00180504
        CHARACTER*6 A6XVK, B6XVK                                        00190504
C*****                                                                  00200504
        COMMON /BLK9/ AXVS, BXVS, IXVI, AXVD, AXVC, AXVB                00210504
        COMMON /BLK7/ A6XVK, B6XVK                                      00220504
        DATA AXVS, BXVS, IXVI, AXVD, AXVC, AXVB /34.25E-1, 43.23, 21,   00230504
     1       1.23456, (234.23, 34.9), .TRUE./                           00240504
        DATA A6XVK, B6XVK /'ABCDE', 'FGHIJK'/                           00250504
C*****                                                                  00260504
        END                                                             00270504

C***********************************************************************00010505
C***** FORTRAN 77                                                       00020505
C*****   FM505                  BLKD2Q - (703)                          00030505
C*****   THIS SUBROUTINE IS CALLED BY FM503                             00040505
C***********************************************************************00050505
C*****                                                                  00060505
C***** GENERAL PURPOSE                                                  00070505
C*****  THIS SEGMENT IS TO BE RUN WITH TEST SEGMENT 261                 00080505
C*****     THIS SEGMENT CONTAINS A SUBROUTINE THAT CHECKS TO SEE IF     00090505
C*****  IF THE BLOCK DATA PROGRAM CORRECTLY INITIALIZED THE MANY        00100505
C*****  VARIABLES                                                       00110505
C*****                                                                  00120505
        SUBROUTINE SN505                                                00130505
C*****                                                                  00140505
C*****                                                                  00150505
C*****  DECLARATION OF VARIABLES IN COMMON BLOCKS                       00160505
        DOUBLE PRECISION AXVD, DVCORR                                   00170505
        COMPLEX AXVC, ZVCORR                                            00180505
        LOGICAL AXVB                                                    00190505
        CHARACTER*6 A6XVK, B6XVK, CVCORR                                00200505
C*****                                                                  00210505
        COMMON /BLK9/ AXVS, BXVS, IXVI, AXVD, AXVC, AXVB                00220505
        COMMON /BLK7/ A6XVK, B6XVK                                      00230505
C*****  LOCAL DECLARATION                                               00240505
        DOUBLE PRECISION AVD                                            00250505
        COMPLEX AVC                                                     00260505
        REAL R2E(2)                                                     00270505
        EQUIVALENCE (AVC, R2E)                                          00280505
C*****                                                                  00290505
CBB** ********************** BBCINITA **********************************00300505
C**** SPECIFICATION STATEMENTS                                          00310505
C****                                                                   00320505
      CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20,      00330505
     1          ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13      00340505
CBE** ********************** BBCINITA **********************************00350505
CBB** ********************** BBCINITB **********************************00360505
C**** INITIALIZE SECTION                                                00370505
      DATA  ZVERS,                  ZVERSD,             ZDATE           00380505
     1      /'VERSION 2.1  ',  '93/10/21*21.02.00',  '*NO DATE*TIME'/   00390505
      DATA       ZCOMPL,             ZNAME,             ZTAPE           00400505
     1      /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/      00410505
      DATA       ZPROJ,           ZTAPED,         ZPROG                 00420505
     1      /'*NO PROJECT*',   '*NO TAPE DATE',  'XXXXX'/               00430505
      DATA   REMRKS /'                               '/                 00440505
C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED   00450505
C**** FOR IDENTIFYING THE TEST ENVIRONMENT                              00460505
C****                                                                   00470505
CZ01  ZVERS  = 'VERSION OF THE COMPILER VALIDATION SYSTEM'              00480505
CZ02  ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM'   00490505
CZ03  ZPROG  = 'PROGRAM NAME'                                           00500505
CZ04  ZDATE  = 'DATE OF TEST'                                           00510505
CZ05  ZCOMPL = 'COMPILER IDENTIFICATION'                                00520505
CZ06  ZPROJ  = 'PROJECT NUMBER/IDENTIFICATION'                          00530505
CZ07  ZNAME  = 'NAME OF USER'                                           00540505
CZ08  ZTAPE  = 'TAPE OWNER/ID'                                          00550505
CZ09  ZTAPED = 'DATE TAPE COPIED'                                       00560505
C                                                                       00570505
      IVPASS = 0                                                        00580505
      IVFAIL = 0                                                        00590505
      IVDELE = 0                                                        00600505
      IVINSP = 0                                                        00610505
      IVTOTL = 0                                                        00620505
      IVTOTN = 0                                                        00630505
      ICZERO = 0                                                        00640505
C                                                                       00650505
C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00660505
      I01 = 05                                                          00670505
C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00680505
      I02 = 06                                                          00690505
C                                                                       00700505
CX010   REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00710505
C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00720505
CX011   REPLACED BY FEXEC X-011 CONTROL CARD.  CX011 IS FOR SYSTEMS     00730505
C     REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010.  00740505
C                                                                       00750505
CX020   REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER).     00760505
C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6       00770505
CX021   REPLACED BY FEXEC X-021 CONTROL CARD.  CX021 IS FOR SYSTEMS     00780505
C     REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020.  00790505
C                                                                       00800505
CBE** ********************** BBCINITB **********************************00810505
      NUVI = I02                                                        00820505
      IVTOTL = 8                                                        00830505
      ZPROG = 'FM503'                                                   00840505
CBB** ********************** BBCHED0A **********************************00850505
C****                                                                   00860505
C**** WRITE REPORT TITLE                                                00870505
C****                                                                   00880505
      WRITE (I02, 90002)                                                00890505
      WRITE (I02, 90006)                                                00900505
      WRITE (I02, 90007)                                                00910505
      WRITE (I02, 90008)  ZVERS, ZVERSD                                 00920505
      WRITE (I02, 90009)  ZPROG, ZPROG                                  00930505
      WRITE (I02, 90010)  ZDATE, ZCOMPL                                 00940505
CBE** ********************** BBCHED0A **********************************00950505
        WRITE(NUVI,26100)                                               00960505
26100   FORMAT( 1H , /  39H BLKD2 - (261) BLOCK DATA SUBPROGRAM --//    00970505
     1          21H  DATA INTERNAL FORMS//                              00980505
     2          15H  ANS REF. - 16)                                     00990505
CBB** ********************** BBCHED0B **********************************01000505
C**** WRITE DETAIL REPORT HEADERS                                       01010505
C****                                                                   01020505
      WRITE (I02,90004)                                                 01030505
      WRITE (I02,90004)                                                 01040505
      WRITE (I02,90013)                                                 01050505
      WRITE (I02,90014)                                                 01060505
      WRITE (I02,90015) IVTOTL                                          01070505
CBE** ********************** BBCHED0B **********************************01080505
C*****                                                                  01090505
CT001*  TEST 1                            REAL VARIABLE - EXPONENT FORM 01100505
           IVTNUM = 1                                                   01110505
        AVS = AXVS                                                      01120505

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?