Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


СООБЩЕНИЯ ОБ ОШИБКАХ АССЕМБЛИРОВАНИЯ



SYNTAX ERROR. (Синтаксическая ошибка). Обычно эта ошибка возникает из-за пропущенной запятой или круглой скобки.

 

CAN'T RESOLVE OPERAND. (Невозможна идентификация обращения к операнду). Непонятно, что в данном случае предполагалось программистом.

 

ILLEGAL ADDRESSING MODE. (Не верный режим адресации). Адресация операнда с использованием данной формы адресации недопустима.

 

ILLEGAL ARGUMENT. (Не верный аргумент). В данном контексте операнд не может быть использован.

 

MULTIPLY DEFINED SYMBOL. (Символ уже описан). Данный символ уже описан ранее (не включая '.VAR').

 

ILLEGAL MNEMONIC. (Неверное мнемоническое обозначение). Данное мнемоническое обозначение не существует, и не было использовано для задания макроса.

 

# TOO LARGE. (Число слишком велико). Результат слишком велик для данного операнда.

 

ILLEGAL ASCII DESIGNATOR. (Неверный код таблицы ASCII). Неверный символ пунктуации или код таблицы Ascii.

 

HEX # AND SYMBOL ARE IDENTICAL. (Шестнадцатеричное число и символ являются идентичными). Существует некоторая метка, которая в точности идентична шестнадцатеричному числу, используемому в качестве операнда. Для того, чтобы возникла эта ошибка, даже индикатор шестнадцатеричного числа должен быть на той же самой позиции.

 

UNDEFINED SYMBOL. (Символ не определен). Символ не был описан в период выполнения первого прохода ассемблера.

 

RELATIVE JUMP TOO LARGE. (Слишком далекий относительный переход). Результирующий адрес перехода находится на другой странице.

 

EXTRA CHARACTERS AT END OF OPERAND. (В конце операнда присутствуют лишние символы). Обычно возникновение этого сообщения связано с наличием синтаксической ошибки или ошибки формата.

Примечание: Данная ошибка возникает при последней проверке какой-либо команды перед тем, как Ассемблер переходит к следующей строке, и она обозначает, что после допустимого символа завершения операнда стоят лишние символы.

 

LABEL VALUE CHANGED BETWEEN PASSES. (Значение метки изменилось между проходами Ассемблера). Значение символа (идентификатора), декодированное в период выполнения прохода 1, не равняется обнаруженному при выполнении прохода 2.

Примечание: Эта ошибка обычно возникает в том случае, когда Ассемблер обрабатывает другие части программы при выполнении прохода 1 по сравнению с проходом 2 из-за изменения значений аргументов директив условной компиляции. Для обнаружения подобных типов ошибок может оказаться полезной директива PASS1 ON/OFF.

 

ATTEMPTED DIVISION BY ZERO. (Предпринята попытка деления на ноль). При выполнении деления делитель оказался равным 0.

 

ILLEGAL EXTERNAL REFERENCE. (Не верная внешняя ссылка). В данном контексте внешняя ссылка использоваться не может.

 

NESTED CONDITIONAL ASSEMBLY UNBALANCE DETECTED. (Обнаружен дисбаланс при анализе вложенных структур ассемблера). Обнаружена какая-либо директива класса '.IF', которой не соответствует парная директива '.ENDIF'.

 

ILLEGAL REGISTER. (Недопустимое использование регистра). Для данной команды недопустимо использование указанного регистра.

 

CANT RECOGNIZE NUMBER BASE. (Невозможно определение основания системы счисления числа). Заданное основание системы счисления числа не допускается ассемблером.

 

NOT ENOUGH PARAMETERS. (Не хватает параметров). В макросе число аргументов превышает число параметров.

 

ILLEGAL LABEL 1ST CHARACTER. (Неверен первый символ метки). Метка должна начинаться с алфавитного символа.

 

MAXIMUM EXTERNAL SYMBOL COUNT EXCEEDED. (Превышено максимальное число внешних символов). В модуле было задано слишком большое число внешних символов (идентификаторов).

Примечание: В модуле допустимо приблизительно 500 внешних символов (идентификаторов).

 

MUST BE IN SAME SECTION. (Должен находиться в той же самой секции). Операнд команды находится в другой секции.

 

NON-EXISTENT INCLUDE FILE. (Включаемый файл не существует). Данный включаемый файл не может быть найден.

 

ILLEGAL NESTED INCLUDE. (Не верное вложенное включение файлов). Один включаемый файл содержит директиву.INCLUDE. Данное сообщение об ошибке может также указывать на отсутствие оператора END в каком-либо включаемом файле.

 

NESTED SECTION UNBALANCE. (Дисбаланс вложенных секций). В описании вложенной секции отсутствует ENDS.

 

MISSING DELIMITERS ON MACRO CALL LINE. (В строке вызова макроса пропущены ограничители). Обнаружено несовпадение ограничителей при вызове макроса.

 

MULTIPLE EXTERNALS IN THE SAME OPERAND. (В одном и том же операнде обнаружено множественное число внешних символов (идентификаторов)). В одном и том же операнде существует более одного внешнего символа (идентификатора)).

 

A LABEL IS ILLEGAL ON THIS INSTRUCTION. (Метка не применима к данной команде). Данное сообщение об ошибке используется для того, чтобы обозначить метки, не получающие перемещаемого значения, такие как ENDM или MACEND. Использование этих меток недопустимо для данной команды.

 

MACRO STACK OVERFLOW. (Переполнение стека макросов). Использована слишком большая степень вложения макросов.

Примечание: Данная ошибка может быть вызвана слишком большим числом рекурсивных вызовов макросов. Стек допускает использование приблизительно 700 вложенных или рекурсивных вызовов макросов. На число макросов оказывает влияние число аргументов, которые используются в макросе.

 

MISSING LABEL. (Пропущена метка). В данной команде требуется присутствие метки.

 

OPERAND MUST BE DEFINED AS AN 8 BIT RELOCATABLE VALUE. (Операнд может быть описан как 8-и битовое перемещаемое значение). Это сообщение об ошибке возникает, когда 16-битовый адрес используется в команде, допускающей 8-битовый операнд. Для того чтобы сделать это значение перемещаемым, необходимо использовать знак < или>.

 

MISSING RIGHT ANGLE BRACKET. (Пропущена правая угловая скобка). Правая угловая скобка является обязательной.

 

MACRO NAME MUST APPEAR ON SAME LINE AS MACRO DEFINITION. (Имя макроса должно появляться не той же самой строке, что и описание макроса).

 

ILLEGAL LOCAL LABELS. (Недопустимо использование локальных меток). Метки не могут быть описаны как локальные. Например, .VAR.

 

MISSING MODULE DIRECTIVE. (Пропущена директива описания модуля MODULE).

 

MISSING ENDMOD DIRECTIVE. (Пропущена директива ENDMOD (задания конца модуля)).

 

'Module' CAN'T BE IN 'Include' FILE. (Директива 'Module' не может находиться во 'включаемом' файле).

 

'Endmod' CAN'T BE IN 'Include' FILE. (Директива 'Endmod' не может находиться во 'включаемом' файле).


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 287; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.026 с.)
Главная | Случайная страница | Обратная связь