home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpmhelp / fortran.hlp < prev    next >
Text File  |  1994-07-27  |  7KB  |  160 lines

  1. Invoking FORTRAN-80 and MACRO-80
  2. FORTRAN-80 Compilation Switches
  3. FORTRAN-80 Library Subroutines
  4. FORTRAN-80 Logical Device Assignments
  5. Invoking LINK-80
  6. LINK-80 Switches
  7. Creating a FORTRAN-80 .COM File
  8. :Invoking FORTRAN-80 and MACRO-80
  9.      The FORTRAN-80 compiler and the MACRO-80 assembler,  named F80 and M80 
  10. respectively, are invoked in a similar fashion.  In both cases, the name of 
  11. the  program is given followed by an argument list.   This argument list is 
  12. of the general form --
  13.           obj-dev:filename.ext,list-dev:filename.ext=
  14.                source-dev:filename.ext
  15.      These symbols are defined as follows --
  16.         obj-dev:  The device on which the object program is to be written.
  17.         list-dev:  The device on which the program listing is written.
  18.         source-dev:   The  device from which the source  program  input  to 
  19. FORTRAN-80 or MACRO-80 is obtained.
  20.         filename.ext:   The  filename and filename extension of the  object 
  21. program file,  the listing file,  and the source program file.
  22.  
  23.      The default extensions are --
  24.  
  25.                FOR  FORTRAN-80 Source File
  26.                MAC  MACRO-80 Source File
  27.                PRN  Print (Listing) File
  28.                REL  Relocatable Object File
  29.                COM  Absolute Object File ORGed to 100H
  30.  
  31.      The specifications for either the object file,  the listing  file,  or 
  32. both  may  be  omitted.   If neither a listing file nor an object  file  is 
  33. desired, place only a comma to the left of the equal sign.  If the names of 
  34. the object file and the listing file are omitted,  the default is the  name 
  35. of the source file.  Logical CP/M devices may be specified as follows --
  36.  
  37.                A:, B:    Disk Drives (Only A: or B:)
  38.                HSR:      High Speed Reader
  39.                LST:      Line Printer
  40.                TTY:      Teletype or CRT
  41.  
  42. Examples --
  43.      A>F80
  44.      *=TEST
  45.           Compile the program TEST.FOR and place the object in TEST.REL
  46.      *,TTY:=TEST
  47.           Compile  the  program  TEST.FOR  and  list  the  program  on  the 
  48. terminal.  No object is generated.
  49.      *TESTOBJ=TEST.FOR
  50.           Compile the program TEST.FOR and put object in TESTOBJ.REL
  51.      *TEST,TEST=TEST
  52.           Compile  TEST.FOR,  and  put  object in TEST.REL and  listing  in 
  53. TEST.PRN
  54.      *,=TEST.FOR
  55.           Compile TEST.FOR but produce no object or listing  file.   Useful 
  56. for checking for errors.
  57.  
  58.    In  all  cases,  the  * is the prompt from  FORTRAN-80.   The  indicated 
  59. operations  may also be performed by typing 'F80' followed by  the  option, 
  60. like 'F80 =TEST'.
  61.    Refer to the 'FORTRAN-80 User's Manual', Copyright 1977, by Microsoft.
  62. :FORTRAN-80:  FORTRAN-80 Compilation Switches
  63.      A number of different switches may be given in the command string that 
  64. will affect the format of the listing file.  Each switch should be preceded 
  65. by a slash (/):
  66.  
  67. Switch    Function
  68. ------    --------
  69.    O      Print all listing addresses in octal
  70.    H      Print all listing addresses in hexadecimal (default)
  71.    N      Do not list generated code
  72.    R      Force generation of an object file
  73.    L      Force generation of a listing file
  74.    P      Each /P allocates an extra 100 bytes of runtime stack space
  75.    M      Specifies to the compiler that the generated code should be in  a
  76.           form which can be loaded into ROM.
  77.  
  78. :FORTRAN-80:  FORTRAN-80 Library Subroutines
  79.      The  standard library (FORLIB.REL) includes the following  subroutines 
  80. and functions --
  81.  
  82.      ABS       IABS      DABS      AINT      INT       IDINT
  83.      AMOD      MOD       AMAX0     AMAX1     MAX0      MAX1
  84.      DMAX1     AMIN0     AMIN1     MIN0      MIN1      DMIN1
  85.      FLOAT     IFIX      SIGN      ISIGN     DSIGN     DIM
  86.      IDIM      SNGL      DBLE      EXP       DEXP      ALOG
  87.      DLOG      ALOG10    DLOG10    SIN       DSIN      COS
  88.      DCOS      TANH      SQRT      DSQRT     ATAN      DATAN
  89.      ATAN2     DATAN2    DMOD      PEEK      POKE      INP
  90.      OUT
  91.  
  92. :FORTRAN-80:  FORTRAN-80 Logical Device Assignments
  93.  
  94.      LUN*      Device
  95.      ----      ------
  96.      1,3,4,5   Preassigned to CON:
  97.      2         Preassigned to LST:
  98.      6-10      Preassigned to Disk Files (Reassignable)
  99.      11-255    User-Assignable
  100.  
  101. * LUN = Logical Unit Number
  102. :LINK-80:  Invoking LINK-80
  103.      Each command to LINK-80 consists of a number of filenames and switches 
  104. separated by commas --
  105.           obj-dev1:filename.ext/sw1,obj-dev2:filename.ext, ...
  106.      If  the  input  device  for a file is  omitted,  the  default  is  the 
  107. currently logged disk.   If the extension of a file is omitted, the default 
  108. is  .REL.   After  each  line is typed,  LINK-80 will load  or  search  the 
  109. specified files,  and,  when finished, it will list all symbols that remain 
  110. undefined followed by an asterisk.   LINK-80 is invoked by the program name 
  111. 'L80'.
  112.      LINK-80  can be used to generate a .COM file of a FORTRAN-80  program.  
  113. This can be done by typing --
  114.           L80 program/E
  115. LINK-80 will respond with a string of the form --
  116.           [aaaa bbbb nn]
  117. The user may then create the .COM file by typing --
  118.           SAVE nn program.COM
  119. :LINK-80:  LINK-80 Switches
  120.      The following are the switches for LINK-80.   As for FORTRAN-80, these 
  121. switches are preceeded by a slash (/).
  122.  
  123. Switch    Function
  124. ------    --------
  125.    R      Reset.  Initialize loader.
  126. E,E:name  Exit LINK-80.   FORLIB.REL will be searched to  satisfy  existing 
  127.           undefined references.   If 'name' is specified, the value of this 
  128.           symbol is used as the start address of the program.
  129. G,G:name  Go.   Start execution of program.  FORLIB.REL will be searched to 
  130.           satisfy any existing undefined references.
  131.    U      List all undefined references.
  132.    M      Map.  List all defined references and their values; all undefined 
  133.           references are followed by an asterisk.
  134.    S      Search.   Search the file specified before this switch to satisfy 
  135.           references.
  136.    N      If a filename/N is specified,  the program will be saved on  disk 
  137.           under the selected name with a default extension of .COM.
  138. P and D   See Addenda to Section 2 of documentation.
  139.  
  140.      Three numbers are specified after the /E and /G switches are executed.  
  141. They are given in the form --
  142.           [aaaa bbbb nn]
  143.   aaaa - start address of program
  144.   bbbb - address of next available byte
  145.   nn   - number of 256-byte pages used
  146. :Creating a FORTRAN-80 .COM File
  147.      There  are  two  basic  ways to create a .COM  file  of  a  FORTRAN-80 
  148. program.   For example,  to generate PROG.COM from PROG.FOR, proceed in one 
  149. of the following ways --
  150.  
  151.  I.  Using SAVE
  152.      F80 =PROG
  153.      L80 PROG/E
  154.        [aaaa bbbb nn] -- response from LINK-80 (necessary data)
  155.      SAVE nn PROG.COM
  156.  
  157. II.  Using /N LINK-80 Switch
  158.      F80 =PROG
  159.      L80 PROG/E,PROG/N
  160.