Link Errors

Public, external byte, word type mismatch

External does not match public in byte or word type.

Duplicate PUBLIC Symbol

The symbol shown has already been defined as a PUBLIC in a previous object module.

No .END Address has been Specified

No input module has a reset address (see the assembler .end directive).

Section Mismatch

A section with the same name from two different modules. Reassemble one of the modules after changing the attributes or rename the section.

Base page reference not on basepage

Result of basepage expression >0F Hex.

Undefined external

No public definition for external symbol.

Undefined Section

The specified section has been used on a SECT command but never appeared in an object module. Probably a misspelled name. No Ranges Left For Section There is not enough memory available via the Range definitions to allocate all object modules (see Chapter 11).

Multiple .END Addresses have been specified

Only 1 reset address is allowed (see the assembler .END directive).

File is not a Library

Bad filename or file corrupted.

Conflicting .CHIP name

The .chip strings in different modules must agree.

Divide by 0

External or relocatable expression contains divide by zero.

File Conflict for Post Processing Program

An outputfile option has specified a file name that will cause an error during Post Processing (i.e., processing by promcop).

Can't find program

The program required to post process the COFF output file was not found in the current directory, the directory LNCOP is in, or a directory in the PATH.

Error accessing program

There is some error executing the program required to post process the COFF output file.

Start address must be placed at zero

Start address from assembler must be placed at zero.

No code at ROM location zero

ROM section should have at least one instruction.

Overlapping Memory

Have overlapping memory for different section type or for different sections with the same memory type.

JMP across 4K boundary

Can't jump >4K for relocatable sections with non-large model.

ROM must be less than 0x8000

Don't exceed the maximum address of ROM.

Data in range 0xC0-0xEF

Reserved range.

Data in range 0xFC-0xFE

Don't overwrite registers A, B, X, or SP.

BASE must be in range 0x0-0xF

BASE must be in that range.

RAM must be less than 0x100

RAM must be in that range.

REG out of range 0xF0-0xFF

REG must be in that range.

SEG must be greater than 0xFF

SEG must be in that range.

EERAM must be in range 0x80-0xBF

EERAM must be in that range.

Object Module not Valid for processor

Don't use for LNCOP an object file created by ASMHPC.

Chip Other than Anycop must be specified

We can't link files that assembly only with /chip=Anycop.

Section crosses 4K boundary

Error should be given if section placed across 4K boundary in non-large model.

Memory Full, Program Terminated, Type:

Too many symbols, models, etc.

Base or register value out of range

Don't use wrong value for Base or register variable.

External BASE or SEGB value not in range xx00 to xx0F

Symbol defined as BASE or SEGB type must be in that range.

External REG value not in range 0xF0 to 0xFF

Symbol defined as REG type must be in that range.