register contains £10, the L register contains £00, and memory locations £1000 and
£1001 contain £22 and £33 respectively, they will appear in the register display as
Note that the memory bytes are printed in the order (1001), (1000). This is in line with
the order in which the registers themselves are displayed, because if the contents of
HL were stored at address £1000 by the instruction.
LD (£1000), HL 22 00 10
register L would be stored at £1000, register H at £1001.
After the registers have been displayed, the program returns to the monitor at the
routine PARSE, where it waits for a further command input. If you enter command E or
S without specifying an address, the execute routine will pick up the address stored in
the workspace at £0C69, which is the value of PC saved last time around. This means
that execution or single-stepping can be continued from the point where the program
operation was suspended by a breakpoint or by the last single step. Once you have
carried out one single step you do not need to re-enter the S command – just pressing
the Newline key will produce another single step if the last command entered was S.
This is particularly useful with Nas-Sys 3, which has a repeat-key routine; just holding
Newline down will cause the program to single-step at a rate which can be controlled
by the value stored at £0C30,£0C31
TABULATE T xxxx yyyy zz
This command prints out the hexadecimal values of the machine code stored between
addresses xxxx and yyyy. The starting address (in hex) and first printed, and this is
followed by eight bytes of data. A new line is then started, the updated address is
printed, followed by further data bytes, and so on. The process continues until zz lines
have been printed, when it pauses until a key is pressed. The routine terminates when
the updated address reaches yyyy, or if ‘escape’ (SHIFT/NEWLINE) is pressed during
a pause. Nas-Sys 1 calculates the ‘checksum’ of the address and data bytes on a line,
and outputs this checksum. The checksum cannot be seen in the tabulation because
the cursor is backspaced over the two hex digits of the checksum. If you send the
tabulated data to a printer which does not backspace, the checksum will be printed.
The checksum is quite useful for the direct entry of machine code as it makes it easier
to spot errors. You can make your Nascom print the checksum on the screen by
routing the output through a short program which suppresses the backspaces, or, if
you have access to an EPROM programmer, by removing them from the monitor.
The Nas-Sys 3 tabulate command does not evaluate the checksum, but it has
extra facilities for formatting the displayed data. The number of bytes of data output