Appendix 1. The Program Listing of the EPROM

The monitor, the editor and the assembler

The next ten pages contain a survey of the EPROM contents. It is the 'expanded' version of Appendix 3 in Book 1, which showed the contents in the form of a hex dump (in bytes only).

The listing includes the following:

  1. A survey of all the RAM memory locations in page 00 (temporaries) and in page 1A (PIA addressing and locations for the NMI and IRQ jump vector).

  2. The main monitor routine (1C00 ... 1CB4).

  3. The main editor routine (1CB5 ... 1D4C).

  4. Subroutines as part of:

    1. the editor: SCAN (1D5C... 1D6E);

    2. the editor and the BRANCH routine: GETBYT (1D6F ... 1D87);

    3. the editor and the monitor: SCAND(S) (1D88 ... 1E1F, including SHOW, CONVD and GETKEY);

    4. the editor: RDINST (1E20 ... 1E46) and FILLWS (1E47 ... 1E5B);

    5. the editor and the assembler: OPLEN/LENACC (1E5C ... 1E82);

    6. the editor and the assembler: UP (1E83 ... 1EA5);

    7. the editor: ADCEND (1EDC ... 1ED2); ...

    8. the editor and the assembler: BEGIN;

    9. the editor: ADCEND (1EDC ... 1EE9);

    10. the editor and the assembler: RECEND (1EEA ... 1EF7) and NEXT (1EF8 ... 1F0E).

  5. Look-up table LOOK, used by the monitor and the editor (subroutine CONVD) (1F0F ... 1F1E).

  6. Look-up table LEN, used by the editor and the assembler (subroutine OPLEN/ LENACC (1F1F ... 1F2E).

  7. Subroutine GETLBL, used in the assembler (1F35... 1F50).

  8. The main assembler routine (1F51 ... 1FD2).

  9. The displacement calculation routine BRANCH (1FD5 ... 1FF7).

  10. Six EPROM locations to establish the NMI, RES and IRQ vectors (1FFA... 1FFF) and six locations for the two JMP-IND instructions involved (see chapter 3 in Book 1) (1F2F ... 1F34). N.B. Locations 1FF8 and 1FF9 are not used. When the EPROM is programmed they are filled with FF.

  11. All the labels and names of memory locations that are used in the monitor, the editor and the assembler, in alphabetical order, plus the corresponding address.

Elektor_Junior_ROM_listing.htm (original scans)
Elektor_Junior_ROM_listing.txt (recreated)