Operating instructions for Relocating Loaders LDR-APM, SLDR-A, SLDR-P, LDR-C and SLDR-C

The loaders discussed in the following paragraphs have several options; each option is selected by the starting location entered.

Loading Options

In the following, XX represents the highest sector occupied by the loader.

a. P = XX000 = Normal object program loading.
b. P = XX004 = Force-load a subroutine. This entry loads a subroutine even if it has not been called by a main program.
c. P = XX006 = (LDR-APM only) Loads programs in the extended desectorizing mode.

Loading Instructions

a.
Set the MA/SI/RUN switch to the SI position.
b.
Enter the desired loading option into register P (Ref. loading options).
c.
If the program is relocatable (REL), enter the octabl address of the location at which loading is to begin into register A. If register A is 0, a starting location of 10008 is assumed. To start loading at 000008, set the sign bit of regsiter A. Note that locations 1-17 are hardware protected.
d.
If the program is absolute (ABS), an A-register setting is unnecessary.
e.
(Except on the DDP-416) Enter the octal address of the location the intersector indirect address word table is to begin into register B. If register B is zero, a starting location of 1008 is assumed.

NOTE

With loaders SLDR-A, SLDR-P, or SLDR-C the intersector indirect table must be in sector 0 for Honeywell 316/516 computers equipped without the memory lockout option. Loaders LDR-APM and LDR-C support the SETB pseudo-operations. Thus, the intersector indirect word table may be program controlled and may be in sector 0 or the same sector as the instruction. If the computer is equipped with the memory lockout option, the table may be in any sector.

f.
Insert the object program into the appropriate input device. (If the card reader is used, turn validity OFF and make it READY.)
g.
Set MA/SI/RUN switch to the RUN position.
h.
(LDR-APM only). Depress the START pushbutton; the computer will halt for input device selection. (See note.)
  1. Position the MA/SI/RUN switch to SI. Enter into bits 14-16 of regsiter A one of the following octal codes:
    1 = High-speed paper tape reader
    2 = ASR paper tape reader
    3 = Magnetic Tape
    4 = Disc/Drum
    5 = Card reader
    If magnetic tape is selected, set bits 11-13 of register A to the physical tape number from which loading takes place.
  2. If register A is zeros, the preselected device is used.

NOTE

Step h may be eliminated by preselecting I/O devices and placing an NOP in location 34448(REL) [for LDR-APM revision E]. (Refer to instructions for generating a LDR-APM system tape.)

i.
(DDP-416) Depress the start pushbutton. The computer will halt. Enter the octal address of the location the intersector indirect address word table is to begin into register A. If register A is zero, a starting location of 1008 is assumed.
j.
Depress the start pushbutton. The object program is loaded into memory until a loader message is produced on the teletypewriter and a halt occurs. (See Table 3-1 for the significance of the loader messages.)

NOTE

When starting LDR-APM after a loader message typeout, the device selection code must be entered into register A, if loading is to continue from a device other than the one specified in the device default location (10008REL).

Table 3-1. Loader Messages
Message Meaning Action Required (*)
* When a loader halt occurs and a message is produced, several options can be performed in addition to those specified in this table. These options are described in the paragraph following this table.
** When loading the loader, change location FIL7 from NN700 to XX700, where NN is the last sector occupied by the loader and XX is the highest sector in memory. The 4K system loaders have been modified. The listing indicates the location of FIL7.
LC Loading Complete Depress the START pushbutton to begin program execution.
MR More subroutines required Insert the required subroutine tape into the appropriate input device and depress the START pushbutton to continue loading.
CK Checksum error in the last block read Depress the START pushbutton to ignore the block and continue loading. A valid load is not assured.
BL Block too large or improperly formatted Depress the START pushbutton to ignore the block and continue loading. A valid load is not assured.
MO Memory overflow due to program attempting to overwrite the loader ** Depress the START pushbutton to obtain a memory map. Refer to Appendix A for the memory map format. No recovery is possible from this error.

The loader cannot detect a program overlaying the indirect word tables or the tables overlaying the program. A memory mape must be obtained to determine if overlap exists.

Options following a loader halt

a.
Reload the object tape by repeating the procedure for loading object programs described above.
b.
Recover from a missing end-of-tape block. The procedure is:
  1. Set the MA/SI/RUN switch to SI, which action will cause the computer to halt.
  2. Load XX0018 into register P.
  3. Set the MA/SI/RUN switch to RUN.
  4. Depress the start pushbutton.
c.
Print a memory map. The procedure is:
  1. Set the MA/SI/RUN switch to SI.
  2. Load XX0028 into register P.
  3. Set the MA/SI/RUN switch to RUN.
  4. Depress the start pushbutton. A memory map is produced on the teletype. (See Appendix A, Memory Map.)
d.
Set a program break. Continue loading with a new origin. The procedure is:
  1. Set the MA/SI/RUN switch to SI.
  2. Load XX0038 into register P.
  3. Load register A with the address of the location where loading is to continue. If the A register is cleared the, the origin for loading remains unchanged.
  4. Set the MA/SI/RUN switch to RUN.
  5. Depress the start pushbutton to continue loading.
e.
Force-load a subprogram. The procedure is:
  1. Set the MA/SI/RUN switch to SI.
  2. Load XX0048 into register P.
  3. Repeat step 3 above.
  4. Insert a tape in the appropriate input device if required.
  5. Set the MA/SI/RUN switch to RUN.
  6. Depress the start pushbutton to load the tape into memory.
f.
Begin executing the object program. The procedure is:
  1. Set the MA/SI/RUN switch to SI.
  2. Load XX0058 into register P.
  3. Set the MA/SI/RUN switch to RUN.
  4. Depress the start pushbutton to execute the program.

 

Table 3-2. Loader Selection
Loader Number of sectors used Device Used Restrictions
MINILOAD 1 ASR, High-Speed Reader or Card Reader Loads only DAP-16 two-pass object programs. It does not load subroutines, external calls, or in extended memory mode. The pseudo-operations SECT and SETB are not supported. Also, mixed modes of assembly are not handled.
Example: REL mode to ABS mode
  ABS mode to REL mode
SLDR-A 3 ASR-33/35 Does not load DAP-16 one-pass object tapes, or extended memory mode programs. The pseudo-operations SECT and SETB are not supported.
SLDR-P 3 High-Speed Reader
LDR-APM 4 or 5 ASR, High-Speed Reader, Magnetic Tape or DISC This is the expanded loader and loads both one- and two- pass DAP-16 object tapes as well as FORTRAN-IV object tapes. When using disc, DOP must be in core and initialized.
LDR-C 4 200 cpm Card Reader SECT pseudo-operations are not supported.
SLDR-C 3 200 cpm Card Reader Does not load DAP-16 one-pass object tapes, or in extended memory mode. SECT pseudo-operations are not supported.
NOTES:
  1. MINILOAD at execution time requires only one sector, but the 1778 portion of the PAL-AP loader must go to a sector other than the last sector when MINILOAD is being loaded.
  2. Restrictions listed are the most salient restrictions. The individual listings contain the complete list of restrictions.
  3. LDR-APM uses four sectors without magnetic tape/cards or five sectors with magnetic tape/cards. For the disc features, it requires the disc operating program (DOP) and the appropriate disc I/O routine to be in memory.

LDR-APM Advantages

  1. Allows loading of programs in normal mode in the upper 16K.
  2. Provides a default sector zero in the same 16K.
  3. Provides a map that shows START as the load point if not otherwise specified.
  4. Removes redundant cross-sectorizing in the case of a SETB and sector zero reference.
  5. Merges flag and tag bits in DACs rather than adding them.
  6. Ignores tag on a DAC when loading with extended desectorizing. (Cannot index address constants in extended mode.)
  7. Provides 14-bit addresses for symbolic addresses in normal mode. Provides 15-bit addresses for symbolic address in extended mode. Provides 16-bit addresses for absolute address in either mode.
  8. Negative DACs (symbolic) are modulo 64K.
  9. Provides start after LC by depressing the START pushbutton. Mode of execution is mode of loading (extended or normal).
  10. Location of COMMON is found in XX000 where XX is the next to last sector (i.e. location 60008 for the 4K loader.
  11. Basic storage of variable data overlays the bootstrap, so patching space (about 1008 words) is available at the end of the last sector.
  12. Can be entered in normal mode (no manual EXA required). Sets the index register to zero on entry (and must keep it zero in order to run properly for other entries).
  13. Allows loading in extended desectorizing by an alternate entry even though the program did not have an EXD (entry 'XX006, where XX is the last sector of the loader).
  14. Provided as a 4K SLT which can load above itself and as an object tape. PAL-AP dumps of this loader that are to reside above the first 16K should be dumped with Revision D or higher of PAL-AP.