HPlogo HP Assembler Reference Manual: HP 9000 Computers > Chapter 8 Diagnostic Messages

Error Messages

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

The following messages describe compilation errors that prevent the Assembler from creating an object file. You must correct these errors to assemble your program.

1000
MESSAGE

Unterminated quoted string

CAUSE

String specified was missing the trailing double quote. Strings literals can not span multiple lines.

ACTION

Add trailing double quote to string.

1001
MESSAGE

Undefined register symbol

CAUSE

Name specified is not a predefined or .REG defined register symbol

ACTION

Correct spelling of name or add .REG directive to define name.

1002
MESSAGE

Undefined completer

CAUSE

Invalid value used in completer field.

ACTION

Use a proper completer as specified in PA-RISC Architecture and Instruction Set Reference Manual.

1003
MESSAGE

Improper completer ,%s specified for opcode %s

CAUSE

The completer used is not a valid completer for the instruction.

ACTION

Consult the PA-RISC Architecture and Instruction Set Reference Manual for the list of valid completers for this instruction.

1004
MESSAGE

Illegal completer combination specified for opcode %s

CAUSE

The combination of completers used is not valid for the instruction.

ACTION

Consult the PA-RISC Architecture and Instruction Set Reference Manual, for the list of valid completer combinations for this instruction.

1005
MESSAGE

Unable to open xref file: %s

CAUSE

Assembler could not create or access the file specified with the -v command-line option.

ACTION

Insure that the directory is writable.

1007
MESSAGE

Label not allowed here in this expr

CAUSE

Assembler will not allow a label here.

ACTION

Expressions must be in the form label1[[-label2]+constant_exp] Reorder expression to be in the proper form.

1008
MESSAGE

Illegal symbol in expression

CAUSE

An expression contains a sequence other than label operator term or term operator term

ACTION

Place operators +, -, between a label and a term, or place operators +, -, *, / between a term and term. Note that a term means a constant expression.

1009
MESSAGE

Field selector not allowed in pc-relative expression

CAUSE

Field selector, such as L' or R' used on a expression that is a branch target.

ACTION

Omit field selectors from branch target expression.

1010
MESSAGE

String not allowed in pc_relative expression

CAUSE

String used for branch target expression.

ACTION

Replace with an expression beginning with a label or "."

1011
MESSAGE

"." allowed in pc_rel expression only

CAUSE

A period (.) used as an operand in a non-branch context, or used as a target in external branch or vectored branch.

ACTION

Use "." only for pc-relative branches, not in branch external or branch vectored.

1012
MESSAGE

PC-relative expression must begin with . or label

CAUSE

Branch target is poorly formed.

ACTION

Use a label or "." as the first term of a branch expression

1013
MESSAGE

Second label not allowed in pc_relative expression

CAUSE

Branch target is poorly formed: label operator label

ACTION

Use an offset in place of the second label.

1014
MESSAGE

Labels may not be added, they may only be subtracted

CAUSE

Attempt to form the sum of two labels.

ACTION

Use an offset in place of the second label.

1015
MESSAGE

Unexpected end of expression

CAUSE

Nothing follows a +, -, /, or * in an expression.

ACTION

Place meaningful terms, integers or labels after operator.

1016
MESSAGE

General register %s is out of range

CAUSE

Register number specified greater than 31 or less than 0.

ACTION

Use a valid general register number between 0 and 31.

1017
MESSAGE

Value of %s for space register not in %sr0..%sr3

CAUSE

Space register specified was not in the legal range.

ACTION

Use a space register in the valid range 0 to 3.

1018
MESSAGE

Value of %s for space register not in %sr0..%sr7

CAUSE

Space register number specified greater than 7 or less than 0

ACTION

Use a valid space register number between 0 and 7.

1019
MESSAGE

Opcode %s not defined

CAUSE

Characters in the opcode field do not comprise a legal machine instruction or directive.

ACTION

Starting in column 2, use only valid opcodes and directives as specified in PA-RISC Architecture and Instruction Set Reference Manual.

1020
MESSAGE

Number required for keyword value

CAUSE

A .CALLINFO keyword was assigned a non-numeric argument.

ACTION

Ensure that .CALLINFO keywords are assigned numeric or register values.

1021
MESSAGE

Unrecognized value for keyword

CAUSE

Illegal assignment for ARGW or RTNVAL keyword in .CALL or .EXPORT directive

ACTION

Use NO, GR, FR, or FU as appropriate.

1022
MESSAGE

This directive must occur within a declared subspace: .%s

CAUSE

The directive used must appear inside of a .SUBSPA. The directive was place outside of a subspace.

ACTION

Insert a .SUBSPA before issuing this directive.

1023
MESSAGE

Directive .%s not allowed inside a procedure

CAUSE

Use of this directive must occur outside of a .PROC The .LOCCT, .SPACE or .SUBSPA directives must occur outside of a .PROC

ACTION

Do not attempt to change the location counter, space or subspace within a procedure.

1024
MESSAGE

Space name required

CAUSE

.SPACE directive is not followed by a valid name.

ACTION

Follow .SPACE directive with a valid name.

1025
MESSAGE

Unrecognized keyword

CAUSE

Directive, such as .SPACE, .SUBSPA, or .CALLINFO followed by a keyword not specified in the Assembler manual.

ACTION

Follow directives with legal keywords separated by commas.

1026
MESSAGE

Identifier %s previously defined

CAUSE

The name being defined already has a definition. Each identifier can only have one legal meaning. You can't define both a space and a subspace with the same name.

ACTION

Change the name used by one of the definitions to a unique name.

1027
MESSAGE

This item must be declared within a space

CAUSE

A directive such as .SUBSPA, is used before the first .SPACE directive.

ACTION

Insert a valid .SPACE directive prior to the offending directive.

1028
MESSAGE

Subspace name required

CAUSE

.SUBSPA directive is not followed by a valid name.

ACTION

Follow .SUBSP directive with a valid name.

1029
MESSAGE

Directive .%s must occur within a procedure

CAUSE

Directive such as .CALLINFO, .ENTER or .LEAVE is used outside of a procedure. A procedure is defined by a matching pair of .PROC, .PROCEND directives.

ACTION

Move the offending directive inside a procedure or correct the location of the .PROC and .PROCEND directives for this procedure.

1030
MESSAGE

Only one .CALLINFO per procedure

CAUSE

Multiple .CALLINFO directives were found within a procedure. A procedure is defined by a matching pair of .PROC, .PROCEND directives.

ACTION

Remove the duplicate .CALLINFO directive or correct the location of the .PROC and .PROCEND directives for this procedure.

1031
MESSAGE

Value for %s must be >=0

CAUSE

1. In a .CALLINFO directive the parameter FRAME is assigned a negative value. 2. In .BLOCK or .BLOCKZ directive the parameter is a negative value.

ACTION

Supply a non-negative value.

1032
MESSAGE

Value for %s must be in range %r3..%r18

CAUSE

In a .CALLINFO directive the parameter ENTRY_GR is assigned an invalid general register.

ACTION

Use a general register in the range %r3 to %r18 when assigning to the parameter ENTRY_GR.

1033
MESSAGE

Value for %s must be in range %fr12..%fr21

CAUSE

In a .CALLINFO directive the parameter ENTRY_FR is assigned an invalid floating-point register.

ACTION

Use a floating-point register in the range %fr12 to %fr21 when assigning to the parameter ENTRY_FR.

1034
MESSAGE

ENTRY_SR must be %sr3 or not specified

CAUSE

In a .CALLINFO directive the parameter ENTRY_SR specifies an invalid space register.

ACTION

Only %sr3 is saved using the PA-RISC calling convention. Either specify %sr3 or omit the ENTRY_SR keyword.

1035
MESSAGE

Instructions must occur within a declared subspace: %s

CAUSE

Instructions present before .SUBSPA directive

ACTION

Use .SUBSPA directive before issuing instructions

1036
MESSAGE

Illegal use of %previous_sp, must be used as a base register

CAUSE

The pseudo register %previous_sp is being used in an instruction as a source or destination register. This special register can only be used as a base register.

ACTION

Use %previous_sp as the base register in a Load or Store instruction.

1037
MESSAGE

nested .PROC

CAUSE

A second .PROC directive was encountered before a .PROCEND directive

ACTION

Insert .PROCEND directive before the second .PROC directive, or remove unnecessary .PROC directive.

1038
MESSAGE

Label name required for %s

CAUSE

Directive, such as .COMM, .REG, .EQU or .MACRO requires that a label be present.

ACTION

Add a label starting in column 1 to use as the name being defined by this directive.

1039
MESSAGE

Missing string constant

CAUSE

Directive, such as .STRING, .STRINGZ, .VERSION, or .COPYRIGHT is present without a string operand.

ACTION

Add missing quoted string after directive.

1041
MESSAGE

Name required for %s

CAUSE

Directive, such as .IMPORT, .EXPORT, .SPACE or .SUBSPA is not followed by an valid identifier.

ACTION

Follow directive with a legal identifier.

1044
MESSAGE

Name required for label definition

CAUSE

.LABEL directive is not followed by a legal identifier

ACTION

Add missing identifier after .LABEL directive.

1045
MESSAGE

Name to be defined by .LABEL must appear as operand.

CAUSE

The .LABEL directive cannot have an identifier in column one.

ACTION

Place identifier after .LABEL directive, not before it.

1046
MESSAGE

Duplicate definition of symbol

CAUSE

The same identifier appeared more than once in column one, or was defined more than one time with a .LABEL directive.

ACTION

Rename one of the labels.

1047
MESSAGE

Unmatched .PROCEND

CAUSE

Two .PROCEND directives were encountered without a .PROC directive in between.

ACTION

Each procedure should begin with a single .PROC and end with a single .PROCEND.

1048
MESSAGE

Comma expected

CAUSE

A directive which expects two or more operands was missing a comma between it's operands.

ACTION

Insert comma between operands.

1050
MESSAGE

Illegal symbol in label position

CAUSE

Illegal character present in identifier which begins in column one.

ACTION

Use only legal identifiers in label field.

1051
MESSAGE

Illegal symbol in opcode position

CAUSE

A sequence of characters starting in column two or beyond does not begin with a alphabetic character or period.

ACTION

Use only valid opcodes and directives starting in column two or beyond.

1052
MESSAGE

Directive name not recognized

CAUSE

A sequence of characters starting in column two or beyond, beginning with a period, does not correspond to a legal directive.

ACTION

Check spelling of directive. Use only legal directive names starting in column two or beyond.

1053
MESSAGE

Displacement must be a constant expression

CAUSE

The displacement for this instruction must be a constant expression.

ACTION

Rewrite the instruction so that it uses a constant expression.

1054
MESSAGE

Unexpected items at end of line

CAUSE

Legal operands are followed by trailing characters or operators.

ACTION

Examine entire sequence of operations for syntactic integrity. Possibly insert a ";" to denote a comment after legal operands.

1055
MESSAGE

Label must be defined within a declared subspace

CAUSE

Label is present before a .SUBSPA directive.

ACTION

Place label after issuing .SUBSPA directive.

1056
MESSAGE

Poorly formed .DWORD argument

CAUSE

The syntax for this .DWORD argument is invalid.

ACTION

Consult the Assembler manual for the valid syntax.

1057
MESSAGE

Unexpected register symbol %s found in a constant expression

CAUSE

A predefined register or a name defined by a .REG directive was encountered in a location where only an integer constant, a name defined by a .EQU directive, may occur.

ACTION

Replace the predefined register or a name defined by a .REG directive by a constant, or change the .REG directive into a .EQU directive.

1059
MESSAGE

Divide by zero

CAUSE

Attempt to perform division with a zero divisor.

ACTION

Examine definition of divisor, ensure that it is not zero.

1060
MESSAGE

Argument 0 or 2 in FARG upper

CAUSE

Using the FU value with ARGW0 or ARGW2 keywords.

ACTION

Only use the FU value with ARGW0 or ARGW2 keywords.

1061
MESSAGE

Closing parenthesis is missing in expression

CAUSE

Mismatched parenthesis.

ACTION

Insert closing parenthesis in the expression.

1062
MESSAGE

Macro parameters must be separated by commas

CAUSE

Formal parameters to .MACRO or actual parameters to a macro invocation are not separated by commas.

ACTION

Insert commas between parameters.

1063
MESSAGE

Unterminated macro definition

CAUSE

A .MACRO directive is not matched with a .ENDM directive.

ACTION

Terminate macro definition with .ENDM.

1064
MESSAGE

Poorly formed macro parameter

CAUSE

Formal parameter to the macro definition is not in the format accepted by the Assembler.

ACTION

Change the form of the formal parameter to an acceptable form.

1065
MESSAGE

Poorly formed .FLOAT or .DOUBLE argument

CAUSE

The floating-point number that was used as the argument to .FLOAT or .DOUBLE is not in the right format.

ACTION

Use a properly formatted floating-point constant for the argument.

1066
MESSAGE

Poorly formed bit field specifier

CAUSE

Bit field is not specified in the form {x..y} where x and y are non-negative integers.

ACTION

Specify bit fields in the correct format.

1067
MESSAGE

Bit field too wide for instruction field

CAUSE

Mismatched bit field declaration and usage.

ACTION

Use the same length bit field for the bit field being assigned to and the bit field being assigned from.

1068
MESSAGE

Brace outside of macro definition

CAUSE

Opening brace ({) or closing brace (}) used outside a macro definition. These symbols can only be used with a macro definition. They are used to form a bit field within a macro definition.

ACTION

Remove opening or closing brace and ensure that they are only used within a macro definition.

1069
MESSAGE

Equal sign required in bit field assignment

CAUSE

Missing assignment operator = for assigning one bit field to another.

ACTION

Insert assignment operator = for bit field assignment.

1070
MESSAGE

Bit range must be within {0..31}

CAUSE

Range specified in bit field is not in the legal range.

ACTION

Ensure bit field range is within the range 0 to 31.

1071
MESSAGE

Opening brace expected in bit range designator

CAUSE

Missing opening brace to specify bit field

ACTION

Use correct format for bit field specification.

1072
MESSAGE

Ending brace expected in bit range designator

CAUSE

Missing closing brace to specify bit field

ACTION

Use correct format for bit field specification.

1073
MESSAGE

Unmatched .ENDM

CAUSE

No .MACRO directive was recognized as corresponding to the .ENDM directive.

ACTION

Either remove the unmatched .ENDM directive or insert a .MACRO directive in an appropriate position preceding the .ENDM directive.

1074
MESSAGE

Illegal expression type for plabel

CAUSE

More than one label was found in a plabel expression.

ACTION

Use only one label in a plabel expression.

1075
MESSAGE

Undefined field selector

CAUSE

Illegal field selector is being used.

ACTION

Use correct field selector.

1076
MESSAGE

Recursive macro expansion for %s

CAUSE

Recursive macro expansion not permitted.

ACTION

Change macro definition to not be recursive.

1077
MESSAGE

A .CALLINFO may specify either CALLS or NO_CALLS but not both

CAUSE

A .CALLINFO directive contained both the CALLS and NO_CALLS operands.

ACTION

Remove either CALLS or NO_CALLS from the .CALLINFO directive.

1078
MESSAGE

Only one architecture revision level can be specified with .LEVEL

CAUSE

More than one .LEVEL directive was encountered and they specified different architecture levels.

ACTION

Remove the inappropriate .LEVEL directive.

1079
MESSAGE

Missing "=" for parameter %s

CAUSE

An operand to a directive is expecting a value to be supplied. For example, the FRAME keyword to the .CALLINFO directive expects an argument to be associated like this: FRAME=32

ACTION

Supply the missing value to be associated with the keyword using the format keyword=value.

1080
MESSAGE

Missing integer for parameter %s

CAUSE

An operand to a directive is expecting a value to be supplied. For example, the FRAME keyword to the .CALLINFO directive expects an argument to be associated like this: FRAME=32

ACTION

Supply the missing value to be associated with the keyword using the format keyword=integer.

1081
MESSAGE

Missing register for parameter %s

CAUSE

An operand to a directive is expecting a value to be supplied. For example the ENTRY_GR keyword to the .CALLINFO directive expects an argument to be associated like this: ENTRY_GR=%r6

ACTION

Supply the missing value to be associated with the keyword using the format keyword=register.

1082
MESSAGE

Wrong kind of register for parameter %s

CAUSE

An operand to a directive is expecting a different register class to be supplied. For example the ENTRY_GR keyword to the .CALLINFO directive expects a general purpose register to be associated; supplying a floating-point register to ENTRY_GR would produce this error message.

ACTION

Use a register of the expected class for the keyword.

1083
MESSAGE

Floating point register %s is out of range

CAUSE

The value supplied does not correspond to a legal floating-point register number.

ACTION

Supply a valid floating-point register number.

1084
MESSAGE

Control register %s is out of range

CAUSE

The value supplied does not correspond to a legal control register number.

ACTION

Supply a valid control register number.

1085
MESSAGE

Illegal value for alignment

CAUSE

The value supplied for alignment is not a valid alignment value. Valid values are powers of 2 that are greater than zero and less than or equal to 4096.

ACTION

Change alignment value to a legal value.

1086
MESSAGE

Only one type can be specified for a symbol with .EXPORT

CAUSE

More than one symbol type was given for the .EXPORT directive.

ACTION

Remove the extra type from the .EXPORT directive.

1087
MESSAGE

Bad value for .SHLIB parameter, format is "mm/yyyy"

CAUSE

The parameter to the .SHLIB directive was not in the proper format. The format must be mm/yyyy, when mm is the integer value for the month, (Jan=1,...Dec=12) and yyyy is the year.

ACTION

Change the parameter to .SHLIB to a valid value.

1088
MESSAGE

Floating point register %s is out of range for %s,SGL

CAUSE

The floating-point register used is not valid for this opcode. The multiops FMPYADD,SGL and FMPYSUB,SGL require that the operands be single precision floating-point registers in the range %fr16L,%fr16R .. %fr31L,%fr31R. Specifying a register below %fr16 will result in this error message.

ACTION

You must use single precision floating-point registers in the range %fr16L,%fr16R .. %fr31L,%fr31R when using single precision FMPYADD or FMPYSUB.

1089
MESSAGE

Revision level must be specified for .LEVEL directive

CAUSE

A .LEVEL directive was missing an architecture level value.

ACTION

You must specify a valid architecture level of 1.0, 1.1, or 2.0.

1090
MESSAGE

Value of %1s must be in the range [%2s..%3s]

CAUSE

The immediate value %1s is constrained to be in the range %2s..%3s for the current instruction.

ACTION

Use a different instruction that allows for a larger range, or use a register to hold the value %1s.

1091
MESSAGE

Incorrect register %s used with %s optional target register must be %s.

CAUSE

This opcode takes an optional register operand as specified. The register you used for this operand was incorrect.

ACTION

Use either the correct operand or no operand.

1094
MESSAGE

Value for %s must be in range 0..3

CAUSE

The value supplied for the privilege level was outside the legal range of 0 to 3.

ACTION

Supply a valid value in the range 0 to 3 for the privilege level.

1095
MESSAGE

Not enough operands for instruction %s

CAUSE

While parsing the operands for the current instruction <inst>, the assembler encountered the end of the line while it was still expecting one or more operands for the instruction.

ACTION

Supply the missing operand(s).

1096
MESSAGE

Missing completer for opcode %s

CAUSE

The instruction <inst> requires a completer. For example the instruction BB always requires a completer (either < or >=); omitting this completer will cause the assembler to generate this error message.

ACTION

Inspect the current instruction for missing completers and add the appropriate completer.

1097
MESSAGE

A "(" was expected while parsing the operands of instruction %s

CAUSE

The operands for the current instruction do not have a "(" in the correct location.

ACTION

Inspect the current instruction and change the operands to the instruction so that the are valid.

1098
MESSAGE

A ")" was expected while parsing the operands of instruction %s

CAUSE

The operands for the current instruction do not have a ")" in the correct location.

ACTION

Inspect the current instruction and change the operands to the instruction so that the are valid.

1099
MESSAGE

A register was expected while parsing the operands of instruction %s

CAUSE

The operands for the current instruction do not have a register in the correct location.

ACTION

Inspect the current instruction and change the operands to the instruction so that the are valid.

1100
MESSAGE

A "," was expected while parsing the operands of instruction %s

CAUSE

The operands for the current instruction do not have a comma (,) in the correct location.

ACTION

Inspect the current instruction and change the operands to the instruction so that the are valid.

1101
MESSAGE

Standard input must be a pipe or FIFO, not a TTY or device file.

CAUSE

The assembler was invoked without any input files on the command-line. For this situation the assembler will then attempt to use the standard input of a UNIX pipe command. The object file will be written to standard output for this case. However, before assembling the standard input, the assembler will attempt to discover if the standard input file is associated with a TTY or terminal. If the assembler determines that standard input is associated with a TTY or terminal then it prints this error message and exits.

ACTION

Supply a filename when invoking the assembler, or use a UNIX pipe to provide an input file for the assembler.

1102
MESSAGE

Displacement of %s must be multiple of four

CAUSE

The displacement in this instruction must be a multiple of four.

ACTION

Use a displacement that is a multiple of four.

1103
MESSAGE

Displacement of %s must be zero with ,O

CAUSE

The displacement must be zero when using the ,O completer.

ACTION

Use a displacement of zero.

1104
MESSAGE

Displacement can't be zero with ,MA

CAUSE

The displacement cannot be zero when using the ,MA completer.

ACTION

Use a non-zero displacement.

1105
MESSAGE

Displacement of %s must be multiple of eight

CAUSE

The displacement in this instruction must be a multiple of eight.

ACTION

Use a displacement that is a multiple of eight.

© 1998 Hewlett-Packard Development Company, L.P.