|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC850 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC850 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 8704 (0x2200) Types: TextFile Names: »LINK0110.DOC«
└─⟦8c28152f0⟧ Bits:30005921 Plink-II Version 1.10A └─⟦this⟧ »LINK0110.DOC«
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»