.bp odd
.pn 157
.cs 5
.mt 5
.mb 6
.pl 66
.ll 65
.po 10
.hm 2
.fm 2
.he
.ft All Information Presented Here is Proprietary to Digital Research
.ce 2
.sh
  Appendix E 
.sp
.sh
Error Messages
.sp 2
.pp
This appendix lists the error messages returned by the internal 
components of CP/M-8000 and by the CP/M-8000 programmer's utilities.
The sections are arranged alphabetically by the name of the 
internal component or utility.  The error messages are listed 
alphabetically within each section, with explanations and 
suggested user responses.
.ix AR68 error messages
.ix error messages, AR68 fatal
.sp 2
.tc    E.1  AR68 Error Messages
.he CP/M-8000 Programmer's Guide              E.1  AR68 Error Messages
.sh
E.1  AR68 Error Messages
.pp 5
The CP/M-8000 Archive Utility, AR68, returns two types of fatal error 
messages:  diagnostic and logic.  Both types of fatal error messages are 
returned at the console as they occur.
.ix fatal diagnostic error messages
.sp 2
.tc         E.1.1  Fatal Diagnostic Error Messages
.sh
E.1.1  Fatal Diagnostic Error Messages
.pp
The AR68 errors are listed below in alphabetic order with explanations 
and suggested user responses.
.sp 2
.ce
.sh
Table E-1.  Fatal Diagnostic Error Messages
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
filename not in archive file 
.sp
The object module indicated by the variable "filename" is not in 
the library.  Check the filename before you reenter the command line.  
.sp 2
.ti -15
cannot create filename
.mb 5
.fm 1
.sp
The drive code for the file indicated by the variable 
"filename" is invalid, or the disk to which AR68 is writing is full.  Check 
the drive code.  If it is valid, the disk 
is full.  Erase unnecessary files, if any, or insert a new disk before 
you reenter the command line.
.bp
.in 0
.ll 65
.ce
.sh
Table E-1.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
cannot open  filename
.sp
The file indicated by the variable "filename" cannot be opened 
because the filename or the drive code is incorrect.  Check the drive code 
and the filename before you reenter the command line.
.mb 6
.fm 2
.sp 2
.ti -15
invalid option flag:  x
.sp
The symbol, letter, or number in the command line indicated by the 
variable "x" is an invalid option.  Refer to the section of this manual on 
AR68 for an explanation of the command line options.  Specify a valid 
option and reenter the command line.
.sp 2
.ti -15
not archive format: filename
.sp
The file indicated by the variable "filename" is not a library.  Ensure that 
you are using the correct filename before you reenter the command line.
.sp 2
.ti -15
not object file:  filename
.sp
The file indicated by the variable "filename" is not an object file,
and cannot be added to the library.  Any file added to the library must be an 
object file, output by the 
assembler, AS68, or the compiler.  Assemble or compile the file before 
you reenter the AR68 command line.
.sp 2
.ti -15
one and only one of DRTWX flags required
.sp
The AR68 command line requires one of the D, R, T, W, or 
X commands, but not more than one.  Reenter the command line with the correct 
command.  Refer to the section of this manual on AR68 for an explanation 
of the AR68 commands.
.bp
.in 0
.ll 65
.ce
.sh
Table E-1.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
filename not in library 
.sp
The object module indicated by the variable "filename" is not in 
the library.  Ensure that you are requesting the filename of an 
existing object module before you reenter the command line. 
.sp 2
.ti -15
Read error on filename
.sp
The file indicated by the variable 
"filename" cannot be read.  This message means one of three things:  the file 
listed at "filename" is corrupted; a hardware error has occurred; or when the 
file was created, it was not 
correctly written by AR68 due to an 
error in the internal logic of AR68.  
.sp
Cold start the system and retry the operation.  If you receive this error 
message again, you must erase and recreate the file.  Use your backup file, 
if you maintained one.  If the error reoccurs, check for a hardware error.  
If the error persists, contact the place you purchased your system for 
assistance.  You should provide the following information:
.sp
.in 22
.ti -2
o Indicate which version of the operating system you are using.
.sp
.ti -2
o Describe your system's hardware configuration.
.sp
.ti -2
o Provide sufficient information to reproduce the error.  Indicate 
which program was running at the time the error occurred.  If possible, 
you should also provide a disk with a copy of the program.
.in 20
.sp 2
.ti -15
temp file write error
.sp
The disk to which AR68 was writing the temporary file is full.  Erase 
unnecessary files, if any, or insert a new disk before 
you reenter the command line.
.bp
.in 0
.ll 65
.ce
.sh
Table E-1.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
.nf
usage: AR68 DRTWX[AV][F D:] [OPMOD] ARCHIVE OBMOD1 [OBMOD2...][>filespec]
.fi
.sp
This message indicates a syntax error in the command line.  The correct 
format for
the command line is given, with the possible options in brackets.  Refer
to the section in this manual on AR68 for a more detailed explanation of 
the command line.
.sp 2
.ti -15
Write error on filename
.sp
The disk to which AR68 is writing the file indicated by the 
variable "filename" is full.  Erase unnecessary files, if any, or insert a 
new disk before you reenter the command line.
.in 0
.ll 65
.sp 2
.tc         E.1.2  AR68 Internal Logic Error Messages
.sh
E.1.2  AR68 Internal Logic Error Messages
.pp
This section lists messages indicating fatal errors in the internal logic of 
AR68.  If you receive one of these messages, contact the place 
you purchased your system for assistance.  
You should provide the following information:
.sp 2
.in 8
.ti -3
1) Indicate which version of the operating system you are using.
.sp
.ti -3
2) Describe your system's hardware configuration.
.sp
.ti -3
3) Provide sufficient information to reproduce the error.  Indicate 
which program was running at the time the error occurred.  If possible, 
you should also provide a disk with a copy of the program.
.in 0
.sp
cannot reopen  filename
.sp
seek error on library
.sp
Seek error on  tempname
.sp
Unable to re-create--library is in filename
.sp
.sp 0
.sh
Note:  \c
.qs
for the above error, "Unable to re-create--library is in 
filename," you should rename the temporary file indicated by the 
variable "filename."  AR68 used the library to create the 
temporary file and then deleted the library in order to replace 
it with the updated temporary file.  This error occurred 
because AR68 cannot write the temporary file back to the
original location.  The entire library is in the temporary file.
.sp 2
.he CP/M-8000 Programmer's Guide              E.2  AS68 Error Messages
.tc    E.2  AS68 Error Messages
.sh
E.2  AS68 Error Messages
.ix AS68 error messages
.ix error message, AS68
.pp 5
The CP/M-8000 assembler, AS68, returns both nonfatal, diagnostic error messages 
and fatal error messages. Fatal errors stop the assembly of your program.  
There are two types of fatal errors:  user-recoverable fatal errors and 
fatal errors in the internal logic of AS68.
.sp 2
.tc         E.2.1  AS68 Diagnostic Error Messages
.sh
E.2.1  AS68 Diagnostic Error Messages
.pp
Diagnostic messages report errors in the syntax and context of the program
being assembled without interrupting assembly.  Refer to the 
Zilog \c
.ul
16-Bit Microprocessor User's Manual \c
.qu
for a full discussion of the assembly language syntax.  
.pp
Diagnostic error messages 
appear in the following format:
.sp
.ti 10
& line no.  error message text
.sp
The ampersand (&) indicates that the message comes from AS68.  The "line no."
indicates the line in the source code where the error occurred.  The "error
message text" describes the error.  Diagnostic error messages are printed at 
the console after assembly, followed by a message indicating the 
total number of 
errors.  In a printout, they are printed on the line preceding the error.  
The AS68 diagnostic error messages are listed below in alphabetic order.
.sp 2
.ce
.sh
Table E-2.  AS68 Diagnostic Error Messages
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
& line no.  backward assignment to *
.sp
The assignment statement in the line indicated illegally assigns
the location counter (*) backward.  Change the location counter to a forward 
assignment and reassemble the source file.
.sp 2
.ti -15
& line no.  bad use of symbol
.sp
A symbol in the source line indicated has been defined as both 
global and common.  A symbol can be either global or common, but not both.  
Delete one of the directives and reassemble the source file.
.bp
.in 0
.ll 65
.ce
.sh
Table E-2.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
& line no.  constant required
.sp
An expression on the line indicated requires a constant.  Supply a constant 
and reassemble the source file.
.sp 2
.ti -15
& line no.  end statement not at end of source
.sp
The end statement must be at the end of the source code.  The end statement 
cannot be followed by a comment or more than one carriage return.
Place the end statement at the end of the source code, followed by 
a single carriage return only, and reassemble the source file.
.sp 2
.ti -15
& line no.  illegal addressing mode
.sp
The instruction on the line indicated has an invalid addressing 
mode. Provide a valid addressing mode and reassemble the source file.  
.sp 2
.ti -15
& line no.  illegal constant
.sp
The line indicated contains an illegal constant.  Supply a valid constant 
and reassemble the source file.
.sp 2
.ti -15
& line no.  illegal expr
.sp
The line indicated contains an illegal expression.  Correct the expression 
and reassemble the source file.
.sp 2
.ti -15
& line no.  illegal external
.sp
The line indicated illegally contains an external 
reference to an 8-bit quantity.  Rewrite the source code to define the 
reference 
locally or use a 16-bit reference and reassemble the source file.
.bp
.in 0
.ll 65
.ce
.sh
Table E-2.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
& line no.  illegal format
.sp
An expression or instruction in the line indicated is illegally 
formatted.  Examine the line.  Reformat where necessary and reassemble 
the source file.
.sp 2
.ti -15
& line no.  illegal index register
.sp
The line indicated contains an invalid index register.  Supply a valid 
register and reassemble the source file.
.sp 2
.ti -15
& line no.  illegal relative address
.sp
An addressing mode specified is not valid for the instruction in 
the line indicated.  Refer to the Zilog 16-Bit Microprocessor User's Manual 
for valid register modes for the specified instruction.
Rewrite the source code to use a valid mode and reassemble the file.  
.sp 2
.ti -15
& line no.  illegal shift count
.sp
The instruction in the line indicated shifts a quantity more 
than 31 times.  Modify the source code to correct the error and reassemble 
the source file.
.sp 2
.ti -15
& line no.  illegal size
.sp
The instruction in the line indicated requires one of the following
three size specifications:  b (byte), w (word), or l (longword).  Supply the 
correct size specification and reassemble 
the source file.
.sp 2
.ti -15
& line no.  illegal string
.sp
The line indicated contains an illegal string.  Examine the line.  Correct 
the string and 
reassemble the source file.
.bp
.in 0
.ll 65
.ce
.sh
Table E-2.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
& line no.  illegal text delimiter
.sp
The text delimiter in the line indicated is in the wrong format.  Use single 
quotes ('text') or double quotes ("text") 
to delimit the text and 
reassemble the source file.
.sp 2
.ti -15
& line no.  illegal 8-bit displacement
.sp
The line indicated illegally contains a displacement larger than 
8-bits.  Modify the code and reassemble the source file.
.sp 2
.ti -15
& line no.  illegal 8-bit immediate
.sp
The line indicated illegally contains an immediate operand larger 
than 8-bits.  Use the 16- or 32-bit form of the instruction and 
reassemble the source file.
.sp 2
.ti -15
& line no.  illegal 16-bit displacement
.sp
The line indicated illegally contains a displacement larger than 
16-bits.  Modify the code and reassemble the source file.
.sp 2
.ti -15
& line no.  illegal 16-bit immediate
.sp
The line indicated illegally contains an immediate operand 
larger than 16-bits.  Use the 32-bit form of the instruction and 
reassemble the source file.
.sp 2
.ti -15
& line no.  invalid data list
.sp 
One or more entries in the data list in the line indicated 
is invalid.  Examine the line for the invalid entry.  Replace it 
with a valid entry and reassemble the source file.
.bp
.in 0
.ll 65
.ce
.sh
Table E-2.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
& line no.  invalid first operand
.sp
The first operand in an expression in the line indicated 
is invalid.  Supply a valid operand and reassemble the source file.
.sp 2
.ti -15
& line no.  invalid instruction length
.sp
The instruction in the line indicated requires one of the 
following three size specifications:
b (byte), w (word), or l (longword).  Supply the correct size specification 
and reassemble the source file.
.sp 2
.ti -15
& line no.  invalid label
.sp
A required operand is not present in the line 
indicated, or a label reference in the line is not in the 
correct format.  Supply a valid label and reassemble the source file.
.sp 2
.ti -15
& line no.  invalid opcode
.sp
The opcode in the line indicated is nonexistent or invalid.  Supply a valid 
opcode and reassemble the source file.
.sp 2
.ti -15
& line no.  invalid second operand
.sp
The second operand in an expression in the line indicated
is invalid. Supply a valid operand and reassemble the source file.
.sp 2
.ti -15
& line no.  label redefined
.sp
This message indicates that a label has been defined twice.  The
second definition occurs in the line indicated.  Rewrite the source code to 
specify a unique label for each 
definition and reassemble the source file.
.bp
.in 0
.ll 65
.ce
.sh
Table E-2.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
& line no.  missing )
.sp
An expression in the line indicated is missing a right parenthesis.  Supply 
the missing parenthesis and reassemble the source file.
.sp 2
.ti -15
& line no.  no label for operand
.sp
An operand in the line indicated is missing a label.  Supply a label and 
reassemble the source file.
.sp 2
.ti -15
& line no.  opcode redefined
.sp
A label in the line indicated has the same mnemonics as a
previously specified opcode.  Respecify the label so that it does not have 
the same spelling as
the mnemonic for the opcode.  Reassemble the source file.
.sp 2
.ti -15
& line no.  register required
.sp
The instruction in the line indicated requires either a 
source or destination register.  Supply the appropriate register and 
reassemble the source file.
.sp 2
.ti -15
& line no.  relocation error
.sp
An expression in the line indicated contains more than one
externally defined global symbol.  Rewrite the source code.  Either make one 
of the externally defined global symbols a local
symbol, or evaluate the expression within the code.  Reassemble 
the source file.
.sp 2
.ti -15
& line no.  symbol required
.sp
A statement in the line indicated requires a symbol.  Supply a valid symbol 
and reassemble the source file.
.bp
.in 0
.ll 65
.ce
.sh
Table E-2.  (continued)
.sp
.nf
.ll 60
.in 5
Message        Meaning
.fi
.sp
.in 20
.ti -15
& line no.  undefined symbol in equate
.sp
One of the symbols in the equate directive in the line indicated
is undefined.  Define the symbol and reassemble the source file.
.sp  2
.ti -15
& line no.  undefined symbol
.sp
The line indicated contains an undefined symbol that has not been
declared global.  Either define the symbol within the module or define it 
as a global
symbol and reassemble the source file.
.in 0
.ll 65
.sp 2
.tc         E.2.2  User-recoverable Fatal Error Messages
.sh
E.2.2  User-recoverable Fatal Error Messages
.pp
Described below are the fatal error messages for AS68.  
When an error occurs because the disk is full, AS68 creates a 
partial file.  You should erase the partial file to ensure that 
you do not try to link it.
.sp 2
.ce
.sh
Table E-3.  User-recoverable Fatal Error Messages
.nf
.in 5
.sp
.ll 60
Message        Meaning
.fi
.in 20
.ti -15
.sp
&  cannot create init: AS68SYMB.DAT
.sp
AS68 cannot create the initialization file because the drive code is
incorrect or the disk to which it was writing the file is full.  If you used 
the -S switch to redirect the symbol table 
to another disk, check the drive code. If it is correct, the disk 
is full.  Erase unnecessary files, if any, or insert a new disk before 
you reinitialize AS68.  Erase the partial file that was created on the 
full disk to ensure that you do not try to link it.
.sp 2
.ti -15
&  expr opstk overflow
.sp
An expression in the line indicated contains too many operations 
for the operations stack.  Simplify the expression before you reassemble the 
source code.
.bp
.in 0
.ll 65
.ce
.sh
Table E-3.  (continued)
.nf
.in 5
.sp
.ll 60
Message        Meaning
.fi
.sp
.in 20
.ti -15
&  expr tree overflow
.sp
The expression tree does not have space for the number of terms
in one of the expressions in the indicated line of source code.  Rewrite the 
expression to use fewer terms before you reassemble the source file.
.sp 2
.ti -15
&  I/O error on loader output file
.sp
The disk to which AS68 was writing the loader output 
file is full.  AS68 wrote a partial file.  Erase unnecessary files, if any, 
or insert a new disk and 
reassemble the source file.  Erase the partial file that was created on the 
full disk to ensure that you do not try to link it.
.sp 2
.ti -15
&   I/O write error on it file.
.sp
The disk to which AS68 was writing the intermediate text file is 
full.  AS68 wrote a partial file.  Erase unnecessary files, if any, or insert 
a new disk and 
reassemble the source file.  Erase the partial file that was created on the 
full disk to ensure that you do not try to link it.
.sp 2
.ti -15
&  it read error itoffset= no.
.sp
The disk to which AS68 was writing the intermediate text 
file is full.  AS68 wrote a partial file.  The variable "Itoffset= no." 
indicates the first zero-relative byte number not read.  Erase unnecessary 
files, if any, or insert a new disk and 
reassemble the source file.  Erase the partial file that 
was created on the full disk 
to ensure that you do not try to link it.
.bp
.in 0
.ll 65
.ce
.sh
Table E-3.  (continued)
.nf
.in 5
.sp
.ll 60
Message        Meaning
.fi
.sp
.in 20
.ti -15
&  Object file write error
.sp
The disk to which AS68 was writing the object file 
is full.  AS68 wrote a partial file.  Erase unnecessary files, if any, or 
insert a new disk and 
reassemble the source file.  Erase the partial file that was created on the 
full disk to ensure that you do not try to link it.
.sp 2
.ti -15
& line no.  overflow of external table
.sp
The source code uses too many externally defined global symbols 
for the size of the external symbol table.  Eliminate some externally defined 
global symbols and 
reassemble the source file.
.sp 2
.ti -15
&  Read Error On Intermediate File: ASXXXXn
.sp
The disk to which AS68 was writing the intermediate 
text file ASXXXX is full.  AS68 wrote a partial file.  The variable "n" 
indicates the drive on which ASXXXX is located.  Erase unnecessary files, if 
any, or insert a new disk and 
reassemble the source file.  Erase the partial file that was created 
on the full disk 
to ensure that you do not try to link it.
.sp 2
.ti -15
&   symbol table overflow
.sp
The program uses too many symbols for the symbol table.  Eliminate some 
symbols before you reassemble the 
source code.
.sp 2
.ti -15
&  Unable to open file filename
.sp
The source filename indicated by the variable "filename" is invalid
or, has an invalid drive code or user number.  Check the filename, drive 
code, and user number.  Respecify the 
command line before you reassemble the source file.
.mt 4
.hm 1
.bp
.in 0
.ll 65
.ce
.sh
Table E-3.  (continued)
.nf
.in 5
.sp
.ll 60
Message        Meaning
.fi
.sp
.in 20
.ti -15
&   Unable to open input file
.sp
The filename in the command line indicated does not exist, or, has
an invalid drive code or user number.  Check the filename, drive code, and 
user number.  Respecify the 
command line before you reassemble the source file.
.mt 5
.hm 2
.mb 5
.fm 1
.sp 2
.ti -15
&   Unable to open temporary file
.sp
Invalid drive code or the disk to which AS68 was writing 
is full.  Check the drive code.  If it is correct, the disk is full.  
Erase unnecessary files, if any, or insert a new disk before you 
reassemble the source file.
.sp 2
.ti -15
&   Unable to read init file: AS68SYMB.DAT
.sp
The drive code or user number used to specify the 
initialization file is invalid or the 
assembler has not been initialized.  Check the drive code and user number.  
Respecify the 
command line before you reassemble the source file.  If the 
assembler has not been 
initialized, refer to the section in this manual on AS68 for 
instructions.
.sp 2
.ti -15
&  Write error on init file: AS68SYMB.DAT
.sp
The disk to which AS68 was writing the 
initialization file is full.  AS68 wrote a partial file.  Erase unnecessary 
files, if any, or insert a new disk and 
reassemble the source file.  Erase the partial file that was created on the 
full disk to ensure that you do not try to link it.
.sp 2
.ti -15
&  write error on it file
.sp
The disk to which AS68 was writing the intermediate 
text is full.  AS68 wrote a partial file.  Erase unnecessary files, if any, 
or insert a new disk.
Erase the partial file that was created on the 
full disk to ensure that you do not try to link it.
Reassemble the source file.  
.in 0
.ll 65
.nx appe2




