PROMETHEUS
Monitor User Manual (cont.)
Memory Operations
SS+4 — Disassemble the program from the current address.
V- — Disassemble the program from the specified address (First).
C- — Turn display of the address before the disassembled instruction on or off.
SS+C — Switch the address display mode between:
a) address, instruction
b) name, instruction — that is, if an address matches the value of a symbol in the symbol table, the symbol’s name will be displayed instead of the address
c) name+1, instruction — a display mode similar to that in point b), except that the symbol’s value may differ by one from the address of the disassembled instruction
D- — Disassemble the program to the printer.
SS+D — Disassemble the program to assembler (i.e. the program in code form is converted into assembler source text format).
O- — Display the program as ASCII codes from the current address. Characters in the range 0–31 are displayed as dots, and those in the range 127–255 are displayed in inverse video.
SS+O — As above, except that you specify the address from which the program is to be displayed.
L- — Display the program as a sequence of numbers from the current address.
SS+L — As above, but the program is displayed as a sequence of numbers after the starting address has been entered.
Search Operations
G( (F in version 128) — Search for a five-byte string or sequence of numbers, e.g.:
1.byte:"A"
2.byte:"b"
3.byte:34525?323
4.byte::(any byte)
5.byte:55555/1000
N- — Search for the next occurrence of the same string.
Filling and Moving Memory Blocks
I- — Move a memory block with the following parameters:
- First — start of the block
- Last — end of the block
- To — where to move it
SS+I — A function similar to the previous one, differing in that you enter the block length (Lenght) instead of its ending address.
P- — Fill a memory block using the same parameters as for the memory-block move function. The only difference is that instead of the To prompt there is a With prompt, i.e. which byte the memory block is to be filled with.
SS+P — Fill a memory block; when entering the parameters, specify its length (Lenght) instead of its ending address.
Memory Editing
SPACE — Allows one line of source text to be entered into memory at the current address.
E- — Allows any number of lines of source text to be entered into memory at the current address.
Memory-editing operations allow the use of labels found in the symbol table.
Program Tracing Operations
SS+Z — Execute one program instruction from the current address.
T- — Slowly trace program execution from the current address.
SS+T — Quickly trace program execution from the current address to the specified address (Last).
During the program-tracing operations above, the program’s execution time is calculated automatically.
Registers
- M — disable or enable interrupts (DI/EI)
- B — enable or disable the processor’s alternate register bank
- N — set the value of any register (registers: A, B, C, D, E, F, H, L, I, R, LX, LY, HX, HY, SP, and the additional pseudo-register T, which counts program execution time)
In register F, the values of individual bits can be changed to their opposites:
d f,c — carry
d f,s — sign
d f,z — zero
d f,p — parity
Memory Field Protection Operations
- 1 — set a field that will be disassembled as a sequence of numbers (DEFB). A maximum of five fields can be defined. After pressing 1, press I and enter the field’s range. To delete a field, press 1 and then the number of that field.
- 2 — as above, but the memory field will be disassembled as a sequence of two-byte numbers (DEFW).
- 3 — set the range of a memory field from which the traced program will not be able to read data.
- 4 — set the range of a memory field to which the traced program will not be able to write data.
- 5 — set the range of a memory field in which the program cannot be traced.
- 6 — set the addresses of subroutines (max. 10) called by CALL and RST instructions, which will be executed immediately while tracing the program.
- X — change the way subroutines called by CALL and RST instructions are executed:
- NON — all subroutines will be traced.
- DEF — only defined subroutines (function 6) will be executed without tracing.
- ALL — all subroutines will be executed without tracing.
- +X — enable or disable control over the traced program (applies to fields 1–6).
To be continued.
Share your thoughts about the article