Instructions for MS-DOS program "SLOAD" ***************************************************************** NOTICE Hewlett-Packard is making version 1.56 of SLOAD.EXE available to customers free of charge to help them in HP 48SX application development, under the following conditions: * The program SLOAD.EXE and the documentation file SLOAD.MAN are provided "as is," and are subject to change without notice. Hewlett-Packard Company make no warranty of any kind with regard to the software or documentation, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard Company shall not be liable for any error or for incidental or consequential damages in connection with the furnishing, performance, or use of this software and documentation. * The program and documentation are copyrighted by Hewlett- Packard. Customers may freely reproduce and distribute this material. Sale of this material is prohibited without prior written permission of Hewlett-Packard Company. * The HP Customer Support department does not support SLOAD. Questions, comments, defect reports, etc. should be directed to the Library Development conference on the HP Calculator Bulletin Board System. All responses from Hewlett-Packard will normally be provided through that conference. * Software generated by SLOAD.EXE should be tested and qualified in its final form. Revised versions of the software and documentation will be posted on the Bulletin Board as they become available. -1- 1. SLOAD - Saturn Linker SLOAD combines several object files into a single object file. It resolves all references that it knows how to before outputing the file. It uses a command file to decide which files to link, what order, at what address and allows many options for cross-reference tables and other forms of listings. The Saturn Linker/Loader is invoked as follows: sload [ - options ] SLOAD recognizes the following options: -D [=] Defines to be a value (default=1). For example, -D~Fred=1000 would set the value for the symbol Fred to 1000 decimal. -H Forces SLOAD to code only, with no symbols or references. -f Allows setting of conditional load flags (only the first two letters of each flag are significant). -l A listing file is specified. If this option is not used, then stdout will be the listing file. -m -M Specifies a file other than stdout for messages (not the listing file). -o Write the object file to . -p Specifies the pagelength for the listing file (default 60). -w Specifies the pagewidth for the listing file (default 80). SLOAD accepts two letter commands from the input file. All characters following the first two are ignored. Certain commands require parameters. An asterisk may be used in place of a hex address to mean the address of the next available location. Parameters may be separated by either a comma or a space. The HElp command provides a list of commands and their parameters. The following are the recognized commands and a description of their function. The commands may be entered in upper or lower case. -2- ABort Aborts the Saturn Loader. No files are modified. BOundary Allows the user to specify a boundary for locating start of next module. The next module will start at an address which is a multiple to the specified address. Note that address 0 is a multiple of any number. CHecksum Specifies that a one byte checksum value should be computed between the specified addresses and filled in at the location of the specified symbol. CRc Specifies that a 4 nibble CRC value should be computed according to the specified values and patched in at an address determined from these values. The first parameter specifies where to start the CRC computation, the second parameter specifies the offset between reads, the third specifies the number of reads per half-sector and the last parameter specifies the number of sectors. See appropriate ROM documentation for more information on CRC computation. DEfine Allows the user to define a symbol that is otherwise unresolved. ENd [ ] Terminates command entry mode. End option may be either of: NOresolverefs Don't resolve external references. REsolverefs Resolve external references. If no option is specified the default is RE. References will be resolved if not suppressed by NOresolve option. SLOAD will then provide listings and output modules as specified in command mode. FLag Set flag name specified. FOrce Sets a flag that will allow user to force SLOAD to perform certain commands that would normally cause errors. Use carefully. HElp Provides a list of commands as well as certain information about the limits of current revision of the program. -3- IF * May precede any command line (including another IF command). NOt's complement value test. If test is true then command line is executed as if no IF statement was there. If test is false, then the rest of the line if ignored. LIst Specifies one or more items to list as load is completed. List items may be turned on and off at any time during command mode with the final settings prevailing. (See SUppress command). Default list items are SUmmary, UNresolved and XRef. Any of the following are accepted: ALl List everything. COde List hex dump of output module. ENtries List entry points. LXref List long cross-reference. REferences List long cross-reference by module. SUmmary List a summary of modules. UNresolvedRefs List all unresolved references. XRef List short cross-reference. LLu Change listing device. May list to a file or a device. LOcate Specifies the address at which to locate the next module. This may be used to overlap modules if desired. NExt Displays address where next nibble of code would be loaded if RElocate command is used. OPtion