DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC850

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC850

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦ca1dc9ee0⟧ TextFile

    Length: 8704 (0x2200)
    Types: TextFile
    Names: »LINK0110.DOC«

Derivation

└─⟦8c28152f0⟧ Bits:30005921 Plink-II Version 1.10A
    └─⟦this⟧ »LINK0110.DOC« 

TextFile



    Plink-II:  PSA Object Module Linkage Editor II
    Update Notes for Version 1.10  (9/16/81)

                        Update Notes for Version 1.10 
    
        This note lists Plink-II bug  fixes and enhancements effective with
    version 1.10.  
    
    Bugs: 
    
      - Some versions  of  the  Digital  Research  PL/1  compiler  generate
        invalid .REL files when  an empty string  is declared:  256 garbage
        bytes are written to the .DATA.  segment causing the linkage editor
        to overwrite the  memory assigned  to the  following segment.  This
        usually doesn't matter since  the next segment  is typically from a
        module that hasn't been loaded yet,  but the problem may surface if
        some of Plink-II's  commands  for  moving  segments  around  in the
        program are  used  (e.g.  SEGMENT,  MODULE,  LOCATE).  Another PL/1
        problem has been  fixed:  modules having  no code  in them  are now
        handled correctly.  These would  sometimes  cause  fixup  errors or
        missing code or data in the output file.  
    
      - If more  than 2  undefined segments  exist (warning  #55), Plink-II
        would die with diagnostic  error #164.  Now programs  may be linked
        with undefined segments:  they  are  ignored.  This  is  useful for
        tasks such as the  creation of overlay structures  that are used in
        many programs where  not  all  of  the  segments  mentioned  in the
        structure are used in each program.  
    
      - DEFINE <symbol> =  <local  variable>  would  cause  a syntax error.
        This has been corrected.  
    
      - Common blocks would  not be handled  properly if they  had the same
        name as a  module:  each  instance  of  the  common  was assigned a
        different memory area.  This situation is now handled properly.  
    
        MicroSoft apparently  handled  this  problem  in  their  Fortran by
        setting the high  order bit in  the first character  of each common
        block name.  Unfortunately, this  means that  MicroSoft Fortran and
        Basic modules may not be combined into the same program because the
        new Basic compiler does  not set  the bit.  Plink-II  can match the
        common names  properly,  but  another  Basic  problem  is described
        below.  
    
      - The overlay loader would  be incorrectly  linked in  a .COM program
        when the LOCATE command was used.  This has been fixed.  
    
    New Features: 
    
      - When the LOCATE statement is  used in a .PRG  program a new section
        is created.  Since only the main section is loaded by the operating
        system when the program is  executed, Plink-II includes the overlay
        loader into the program to load the other sections before execution
        of the program begins.  This action may  now be inihibited by using
        the new PAD option provided with the LOCATE command.  For example, 
    
                                  LOCATE 3000, PAD 
    
        causes the previous  section  to  be  filled  out  until it reaches
        address 3000.  In this  way,  the  next  section  is  forced  to be
        adjascent to the previous one  and will be loaded  at the same time





    Plink-II:  PSA Object Module Linkage Editor II                            2
    Update Notes for Version 1.10  (9/16/81)

        from disk:  the overlay loader is not required.  
    
      - The COMMON command  has been added.  It  may be used  to define the
        size of a  common block  to be  larger than  the definition  of the
        common provided by  any module.  It  also performs  the function of
        the SEG command by placing the common block in the current section.
        The syntax is COMMON <name1> = <size1>, <name2> = <size2>, ...  For
        example: 
    
                             COMMON C1=100, C2 = #1 * 5 
    
        The COMMON command may not be used on a .DATA. segment or error #18
        will result.  Also,  the COMMON  and CONCATENATE  statements should
        not  be  used   on  the  same   common  or  the   results  will  be
        unpredictable.  
    
      - The various  overlay  loaders  selected  via  the  DEBUG  and I8080
        commands are  now  combined  into  a  single  library  file  called
        OVERLAY.REL  instead  of  being  in  separate  files.  Each  has  a
        different module name:  .OVLZ.  is the  standard loader,  .OVLD. is
        selected when the DEBUG command is  used, and .OVL8. when the I8080
        command is used.  Older  overlay  .REL  files  should be discarded:
        they will no longer work.  
    
      - Many people have reported problems with linking modules produced by
        MicroSoft's new Basic compiler.  Plink-II can now handle these.  If
        the /O switch is  used in the  Basic compiler (to  avoid the use of
        the runtime module) some of Plink-II's  special commands have to be
        used.  
    
        The problem is that the initialization code in these Basic programs
        attempts to clear the  blank common  (.BLNK.) and  counts on having
        the data segment  for  the  module  ("BASIC)  immediately following
        .BLNK.  in  memory  in  order  to  determine  its  ending  address.
        Plink-II normally moves  .BLNK. to the  end of the  section so that
        Fortran programs can  access free  memory; therefore,  the clearing
        routine wipes out the operating system.  
    
        The SEGMENT command  of Plink-II  can be  used to  specify that the
        named segments are  to  be  allocated  memory  at  the current load
        address.  Older versions of Plink-II  always put .BLNK.  at the end
        of the current section, but version 1.10 will not do this if .BLNK.
        is used   in   the   SEGMENT   command.  Plink-II   will  move  all
        uninitialized segments to the  end of  the section,  and .BLNK. and
        "BASIC are normally uninitialized, so  the NOSORT command must also
        be used to inhibit this action.  To sum up, entering 
    
                           SEGMENT .BLNK., "BASIC  NOSORT 
    
        into the Plink-II command  will cause the  correct memory structure
        to be be generated.  
    
        If the /O switch is NOT used  in the Basic compiler, the program is
        linked so as  to  use  the  runtime  support  module,  and no extra
        Plink-II commands  are  required:  everything  is  sorted  into the
        correct order in memory.  A .COM file must be specified for output,
        overlays may not  be  used,  and  the  LOCATE,  ACTUAL,  and .DATA.
        commands should not be used.  





    Plink-II:  PSA Object Module Linkage Editor II                            3
    Update Notes for Version 1.10  (9/16/81)

    
    Valid Plink input files: 
    
        The MicroSoft  relocatable  file  format  has  become  an  industry
      standard for   Z80   -   CP/M   compiler   output.  However,  several
      manufacturers are selling compilers which output files that look like
      MicroSoft's, but  actually  contain  subtle  differences.  Plink  can
      handle some of  these,  but  others  will  not work.  Also, MicroSoft
      periodically makes minor changes  to the  format in  order to support
      new language features.  
    
        The list below indicates which compilers have been checked out with
      Plink  3.28.  Usually,  lower  numbered  versions  are  also  handled
      correctly.  If a compiler you wish to use is not on this list, either
      insure that  it outputs  a format  compatible with  a listed  one, or
      contact your software distributor.  
    
    MicroSoft: 
         - Cobol 4.01 (in 4.01, the SECTION statement may not be used).  
         - Fortran 3.31 
         - Basic 5.30 (see comments above).  
    
    Cromemco: 
         - Cobol 3.01 
    
    Digital Research 
         - PL/1 1.3 (the indexed  .IRL files are  not supported:  they will
           have to be converted to normal form with the LIB program).  
    
    MT MicroSystems: 
         - Pascal  MT+  5.2  (.ERL  files  designed  to  be  input  to  the
           disassembler are not supported).  
    
    Whitesmiths 
         - C 2.0 (see discussion in update letter for Plink-II 1.08) 
    
    Ithaca Intersystems 
         - Pascal/Z 3.0.  























«eof»