Illegal register for instruction (Недопустимый регистр в инструкции)
В качестве источника в инструкции SETFIELD и GETFIELD использован недопустимый регистр.
Illegal register multiplier (Недопустимо указание множителя для регистра)
Попытка умножить регистр на какое-либо число, что является недопустимой операцией. Например:
mov ax * 3,1
Единственный случай, когда допускается умножение регистра на константное выражение - это при определении масштабного индексного операнда для процессора 80386.
Illegal segment address (Недопустимый сегментный адрес)
Это сообщение об ошибке выдается, если для позиционирования сегмента указывается значение адреса, превышающее 65535. Например:
F00 SEGMENT AT 12345h
Illegal use of constant (Недопустимо использование константы)
В выражении используется константа там, где использование константы недопустимо. Например:
mov bx+4,5
Illegal use of register (Недопустимо использование регистра)
В выражении указывается имя регистра там, где использование регистра недопустимо. Например:
X = 4 shl ax ; в операции SHL нельзя указывать регистры
Illegal use of segment register (Недопустимо использование сегментного регистра)
В выражении или команде указывается имя сегментного регистра там, где использование сегментного регистра недопустимо. Например:
ADD SS,4 ; в команде ADD нельзя указывать ; сегментные регистры
Illegal USES register (В директиве USES указан недопустимый регистр)
Указан недопустимый регистр в командах PUSH и POP при входе и выходе из процедуры. Допустимы следующие регистры:
AX CX DS ES BX DI DX SI
Если директивой .386 или .386Р разрешены команды процессора 80386, то можно указывать 32-битовые эквиваленты перечисленных выше сегментов.
Illegal version ID (Недопустимый идентификатор версии)
Эта ошибка происходит, когда в параметре /U или в операторе VERSION выбирается недопустимая версия.
Illegal warning ID (Недопустимый идентификатор предупреждающего сообщения)
Введен неверный трехсимвольный идентификатор предупреждающего сообщения. Список всех допустимых идентификаторов предупреждающих сообщений приведен в Этой главе.
Instruction can be compacted with override (Возможно сокращение длины команды, если явно указать тип имени)
Из-за наличия ссылки вперед на имя идентификатора генерируемый код содержит дополнительные команды NOP. Для того чтобы сократить код можно убрать ссылку вперед либо явно указать тип символического имени. Например:
jmp X ; для этой команды будет выдано предупреждающее ; сообщение jmp SHORT X ; не будет выдано предупреждающего сообщения Х:
Invalid model type (Недопустимая модель памяти)
В директиве .MODEL для модели памяти указано недопустимое ключевое слово. Например:
.Model GIGANTIC
Для обозначения моделей памяти допустимы следующие ключевые слова: TINY, SMALL, COMPACT, MEDIUM, LARGE и HUGE.
Invalid operand(s) to instruction (Недопустимый операнд(ы) для данной команды)
В команде указана недопустимая комбинация операндов. Например:
FADD ST(2), ST(3)
В команде FADD только на один стековый регистр можно ссылаться по имени, другой операнд должен быть вершиной стека.
Labels can"t start with numeric characters (Метки не могут начинаться с цифровых символов)
Обнаружено имя, которое не является ни допустимым числом, ни допустимым именем идентификатора. Например: 123XYZ.
Line too long - truncated (Строка слишком длинная - производится усечение)
Текущая строка исходного файла содержит более 255 символов. Лишние символы игнорируются.
Location counter overflow (Переполнение счетчика адреса)
Текущий сегмент заполнен, последующий код или данные затрут начало сегмента. Например:
ORG 0FFF0h ARRAY DW 20 DUP (0) ; переполнение
Method call requires object name (В вызове метода необходимо имя объекта)
Оператор CALL.METHOD не может получить тип объекта из экземпляра указателя. Вы должны указать имя объекта.
Missing argument list (Отсутствует список аргументов)
В директиве IRP или IRPC, определяющей блок повторения, не указан список аргументов для формального параметра. Например:
IRP X ; нет списка аргументов DB X ENDM
В директивах IRP и IRPC обязательно должен быть указан формальный параметр и список аргументов.
Missing argument or < (Отсутствует аргумент, либо не указана угловая скобка <)
Не указаны угловые скобки, либо вообще отсутствует выражение в угловых скобках там, где оно необходимо. Например:
if b ; должно быть указано выражение в угловых ; скобках
Missing argument size variable (Отсутствует переменная для размера блока параметров)
В директиве ARG или LOCAL не указано имя идентификатора после знака равенства в конце оператора. Например:
ARG A:WORD,B:DWORD= ; ошибка, нет имени после знака= LOCAL X:TBYTE= ; та же ошибка
В директивах ARG и LOCAL после знака равенства, если он указан, обязательно должно быть указано имя переменной для размера блока параметров.
Missing COMM ID (Отсутствует идентификатор в директиве COMM)
В директиве COMM не указано имя идентификатора перед спецификатором типа. Например:
COMM NEAR ; ошибка: отсутствует ; имя идентификатора перед "NEAR"
В директиве СОММ обязательно должно быть указано имя идентификатора. Имя идентификатора и спецификатор типа должны быть разделены двоеточием (:).
Missing dummy argument (Отсутствует формальный параметр)
В директиве IRP или IRPC, определяющей блок повтора, отсутствует формальный параметр. Например:
IRP DB X ; нет формального параметра ENDM
В директивах IRP и IRPC обязательно должны быть указаны формальный параметр и список аргументов.
Missing end quote (Отсутствует закрывающая кавычка)
В конце строковой константы нет закрывающей кавычки. Например:
DB "abc ; отсутствует кавычка в конце ABC mov al,"X ; отсутствует кавычка после Х
Строковая константа должна оканчиваться той же кавычкой, которой она начинается.
Missing macro ID (Отсутствует идентификатор макрокоманды)
В директиве MACRO, определяющей макрокоманду, отсутствует имя. Например:
MACRO ; ошибка: не указано имя макрокоманды DB A ENDM
Имя в определении макрокоманды указывать обязательно.
Missing module name (Отсутствует имя модуля)
В директиве NAME не указано имя модуля. Напомним, что директива NAME действует только в режиме Ideal.
Missing or illegal language ID (Отсутствует или неверно указан идентификатор языка)
В директиве .MODEL неверно указан идентификатор языка. Подробное описание директивы MODEL см. в Главе 7 настоящего руководства.
Missing or illegal type specifier (Отсутствует или неверно указан спецификатор типа)
В операторе отсутствует или неверно указан обязательный параметр - идентификатор типа (BYTE, WORD и т.д.) Например:
RED LABEL XXX ; ошибка: "ХХХ" не является ; идентификатором типа
Missing table member ID (Пропущен идентификатор элемента таблицы)
В операторе CALL.METHOD после ключевого слова METHOD пропущено имя объекта.
1 2 3 4 5 6 7 8 9 10
8 8 8
|