File ADSAM.FT (FORTRAN source file)

Directory of image this file is from
This file as a plain text file

C
C     ..................................................................
C
C        SAMPLE MAIN PROGRAM FOR MATRIX ADDITION - ADSAM
C
C        PURPOSE
C           MATRIX ADDITION SAMPLE PROGRAM
C
C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C           MADD
C           MATIN
C           MXOUT
C           LOC
C
C        METHOD
C           TWO INPUT MATRICES ARE READ FROM THE STANDARD INPUT DEVICE.
C           THEY ARE ADDED AND THE RESULTANT MATRIX IS LISTED ON
C           THE STANDARD OUTPUT DEVICE. THIS CAN BE REPEATED FOR ANY
C           NUMBER OF PAIRS OF MATRICES UNTIL A BLANK CARD IS
C           ENCOUNTERED
C
C     ..................................................................
C
C        MATRICES ARE DIMENSIONED FOR 1000 ELEMENTS. THEREFORE, PRODUCT
C        OF NUMBER OF ROWS BY NUMBER OF COLUMNS CANNOT EXCEED 1000.
C
      DIMENSION A(1000),B(1000),R(1000)
C
   10 FORMAT(1H1,15HMATRIX ADDITION)
   11 FORMAT(1H0,44HDIMENSIONED AREA TOO SMALL FOR INPUT MATRIX ,I4)
   12 FORMAT(1H0,20HEXECUTION TERMINATED)
   13 FORMAT(1H0,32HMATRIX DIMENSIONS NOT CONSISTENT)
   14 FORMAT(1H0,42HINCORRECT NUMBER OF DATA CARDS FOR MATRIX ,I4)
   15 FORMAT(1H0,18HGO ON TO NEXT CASE)
   16 FORMAT(1H0,11HEND OF CASE)
C	OPEN (UNIT=5, DEVICE='CDR', ACCESS='SEQIN')
C	OPEN (UNIT=6, DEVICE='LPT', ACCESS='SEQOUT')
C
C     ..................................................................
C
      WRITE(6,10)
   20 CALL MATIN(ICODA,A,1000,NA,MA,MSA,IER)
      IF( NA ) 25,95,25
   25 IF(IER-1) 40,30,35
   30 WRITE(6,11) ICODA
      GO TO 45
   35 WRITE(6,14) ICODA
   37 WRITE(6,12)
      GO TO 95
   40 CALL MXOUT(ICODA,A,NA,MA,MSA,60,120,2)
   45 CALL MATIN(ICODB,B,1000,NB,MB,MSB,IER)
      IF(IER-1) 60,50,55
   50 WRITE(6,11) ICODB
      WRITE(6,15)
      GO TO 20
   55 WRITE(6,14) ICODB
      GO TO 37
   60 IF(NA-NB) 75,70,75
   70 IF(MA-MB) 75,80,75
   75 WRITE(6,13)
      WRITE(6,15)
      GO TO 20
   80 CALL MXOUT(ICODB,B,NB,MB,MSB,60,120,2)
      ICODR=ICODA+ICODB
      CALL MADD(A,B,R,NA,MA,MSA,MSB)
      MSR=MSA
      IF(MSA-MSB) 90,90,85
   85 MSR=MSB
   90 CALL MXOUT(ICODR,R,NA,MA,MSR,60,120,2)
      WRITE(6,16)
      GO TO 20
   95	CONTINUE
      END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search