ALS-8 Manual Errors

These notes are extracted from the ALS-8 SYSTEMS GROUP Newsletter, volume one, number one; published March 15, 1977, with the support and help of Processor Technology Corp.


       There are two errors and one omission in the manual as it stands now.  The maximum terminal width is 118 and not 120, as is stated in the manual.  Even though the input buffer is 120 bytes long, two bytes need to be reserved for the carriage return and an end-of-file marker.

       The item that was left out is an operator in the form of a "$".  This operator is equivalent to the address that the next instruction will be assembled at.  If we had an instruction such as:

       JNZ $+3

and the next instruction was three bytes in length, then this would skip the next instruction if the zero flag was reset while:

       JMP $

would not accomplish anything, as it would just pass control to the next instruction.  I suggest that you try using this operator in a variety of ways, as it can prove to be a very powerful tool.


       Two minor errors have been found in the ALS-8 PROMS.  The first one has to do with the 'TERM' command which sets the length of the input buffer.  If input is made to the end of the system RAM including the custom command table is cleared.  This is because the carriage return is treated as a character and there is no room left for it.  The best way to get around this error (until it is corrected) is to set the terminal width to two more than the width of your input device.

       The other error concerns the 'ASC' pseudo-op.  When using a terminal width over 80 and when in the 'FORM' mode, the closing delimiter of the string is missed by the assembler.  As a result, any comment that is on the same line will become part of the 'ASC' string.  Since there seem to be a lot of variables that enter into this error, the best way to avoid an error is to use the unformatted mode when assembling programs that contain 'ASC' strings.

       There is also an error in the TXT-2 Editor PROMS.  If you use a CONTROL-H to delete the last character of a line that is exactly 64 characters long, the file structure of the line is altered.  This error can be avoided by replacing the last character with a space when it needs to be deleted.

       The above mentioned errors (term width, 'ASC', and CTRL-H) have been corrected in the PROMS from serial number 500 on.  For those PROMS before the 500, these errors will be corrected during an update service that will be announced in the next newsletter.

'<' & '>' OPERATORS

       Also included in this update will be the addition of the high half and low half operators to the assembler.  These operators allow you to use either the H or L part of a 16 bit value assigned to a label as an eight bit value.  Here's an example:

       VDMBASE   EQU   0CC00H
                 MVI   A,<VDMBASE

will load the accumulator with 0CCH.  Whereas:

       POTTS    EQU   0E0DFH
                MVI   E,>POTTS

will load register 'E' with 0DFH.

I found that on page 75 of the ALS-8 manual, the example CUST /ESET/ FFF3 should read CUSTE /ESET/ FFF3