The Signetics 2650 - The MESSUI Place
The Signetics 2650 - The MESSUI Place
The Signetics 2650 - The MESSUI Place
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CP1002 "PIPLA" ROM<br />
loaded). As before sp means a space,<br />
and cr means a carriage return.<br />
<strong>The</strong> parameter A is used to specify<br />
the dumping format. <strong>The</strong>re are three<br />
formats allowed; you can either dump<br />
all 8 bits of each memory byte, only the<br />
least significant 4 bits of each, or only<br />
the most significant 4 bits. <strong>The</strong> three<br />
modes correspond to the following<br />
values for parameter A:<br />
0 -- all 8 bits dumped<br />
1 — only the least significant 4 bits<br />
2 — only the most significant 4 bits<br />
If options 1 or 2 are specified, the<br />
four bits of data are right justified and<br />
the upper four bits are dumped as<br />
zeroes.<br />
<strong>The</strong> remaining command functions<br />
provided by PIPBUG2 are virtually<br />
identical to those of the, original<br />
PIPBUG. Hence there is the "A" command<br />
to examine and alter memory,<br />
the "L" command to load from cassette<br />
or paper tape, the "D" command to<br />
dump to cassette or paper tape, the "S"<br />
command to see and set the registers,<br />
the "B" command to set a breakpoint,<br />
the "C" command to clear a breakpoint<br />
and the "G" command to transfer command<br />
to a user program. <strong>The</strong>se are all<br />
used in exactly the same manner as<br />
those of the original PIPBUG.<br />
As with the first version of PIPBUG,<br />
there are a number of utility subroutines<br />
in PIPBUG2 which may be called<br />
by user programs. <strong>The</strong> most useful<br />
of these are described in Table 2. Note<br />
that as mentioned earlier, some of<br />
these sub-routines are significantly<br />
different from those in the original<br />
PIPBUG when it comes to use of<br />
registers, etc.<br />
<strong>The</strong> PIPLA line assembler starts at hex<br />
0400. As mentioned earlier it gives no<br />
initial identifying message and assumes<br />
a starting origin of OCOO for the<br />
program to be assembled. So when you<br />
call it, the response is simply<br />
°COO.<br />
Apart from this, its operation is very<br />
similar to that of the modified<br />
assembler I described in the April 1979<br />
issue. You can change the origin as<br />
desired with an ORG directive, store a<br />
string of ASCII characters with an ASCI<br />
directive, and return to PIPBUG2 with<br />
an END directive. <strong>The</strong> only directive<br />
not available is the DATA directive.<br />
<strong>The</strong>re is only one other point to<br />
remember. <strong>The</strong> input buffer used by<br />
PIPLA is only 24 characters long, compared<br />
with the buffer of about 60<br />
characters used by the modified<br />
assembler. So you cannot have a long<br />
string in an ASCI directive, nor can you<br />
fa in comments after the operand field<br />
of an instruction line. But you can still<br />
have normal comment lines (identified<br />
by an asterisk as the first character), as<br />
long as they are shorter than 24<br />
characters.<br />
TABLE 2: User-accessible subroutines In PIPBUG2<br />
LABEL FUNCTION CALL BY<br />
CHIN<br />
COUT<br />
.....<br />
Inputs a character to RO from<br />
the serial terminal<br />
Outputs a character from RO to<br />
the serial terminal<br />
BIN Reads two hex chars from the<br />
terminal, forms byte in R1<br />
BOUT<br />
Prints the byte in R1 as a two-digit hex<br />
number (Data in RO is destroyed)<br />
LKUP Converts a hex char in RO into<br />
a 4-bit number (returned in RO also)<br />
GNUM Fetches a 4-digit number from<br />
the input buffer, stores in R1 and R2<br />
STRT Stores R1, R2 into 80D, 80E<br />
INCRT Increments contents of 80D, 80E<br />
CRLF Sends CR, LF to terminal<br />
CHNG Converts the byte in RO into two<br />
hex chars returned in R1, R2<br />
FORM Outputs 3 spaces to terminal<br />
GAP Output 50 spaces to terminal<br />
....i<br />
...<br />
ZBSR *0009<br />
(BB 89)<br />
ZBSR *0007<br />
(BB 87)<br />
ZBSR *000D<br />
(BB 8D)<br />
ZBSR *000B<br />
(BB 8B)<br />
ZBSR 0026<br />
(BB 26)<br />
ZBSR *000F<br />
(BB 8F)<br />
ZBSR 0021<br />
(BB 21)<br />
ZBSR 0017<br />
(BB 17)<br />
BSTA, UN 01A9<br />
(3F 01 A9)<br />
BSTA, UN 028D<br />
(3F 02 8D)<br />
BSTA,,UN 0360<br />
(3F 03 60)<br />
BSTA, UN 0364<br />
(3F 03 64)<br />
ELECTRONICS Australia, October, 1979 77<br />
,<br />
,