第6章 エラー一覧

M86Kが検出するエラーには、致命的なエラー、エラー、警告の3つのレベルがあります。致命的なエラーが検出された場合、M86Kはその時点で即時に実行を中止します。「作業用バッファが不足している」などの問題がこのレベルに該当します。これに対してエラーが検出された場合には、その時点で実行中のパス(パス1またはパス2)が完了した時点で実行を中止します。いわゆる「文法エラー」がこれにあたります。さらに警告の場合には、オペランドの値が許されている範囲を越えている、といった一概にはエラーといえないレベルの問題であるため、M86Kは実行を中止しません。

致命的なエラーが検出された場合、M86Kは出力するように指示されているすべてのファイルを生成しません。これに対してパス1でエラーが検出された場合には、出力するように指示されているすべてのファイルを生成しませんが、パス2で検出された場合にはリストファイルだけは生成します(生成することを指定されていた場合)。次にエラー表示の書式を示します。

filename(linenumber): source line
error message


6-1 警告


M86Kが検出する可能性のある警告レベルのメッセージとその意味を次に示します。なお、メッセージ中の???は、場合によって変わる部分を表します。

???:ビット number exceeds limits

absolute expression expected

address beyond zero

address exceeds limits

address exceeds ROM size

chip name is different from one specified by CHIPNAME (???).

END in included file

ENDF without FUNCTION

ENDM without MACRO

EXITM outside MACRO

function code buffer overflow

illegal combination of attributes:???

illegal style expression

JMP/CALL placed at the end of memory block (FREE)

Jump address is out of range (FREE)

LOCAL outside MACRO

macro name in expression

macro name required

no character in string

page width must be 72 ~ 132:???

public ??? not defined

SET conflicts with PUBLIC

symbol name required

undefined symbol in expression

value is out of range

zero divide:??? modulo 0

zero divied:??? / 0