.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