ID not member of structure (Идентификатор не является полем структуры)
В режиме Ideal после точки (селектора поля структуры) указано имя идентификатора, которое не является именем поля структуры. Например:
IDEAL STRUC DEMO DB ? ENDS COUNT DW 0 mov ax,[(DEMO bx).COUNT] ; COUNT не является ; полем структуры
После точки может быть указано только имя поля той структуры, имя которой указано перед точкой.
Данная ошибка обычно является следствием другой ошибки, в результате которой анализатор выражений преждевременно заканчивает обработку выражения.
Illegal forward reference (Недопустимая ссылка вперед)
Имя идентификатора, на которое происходит ссылка, еще не было определено, а в соответствующей директиве не допускается использовать ссылки вперед. Например:
IF MYSYM ; ошибка: MYSYM еще не определена ; ENDIF MYSYM EQU 1
Ссылки вперед нельзя использовать в директивах вида IFxxx, а также в качестве счетчика выражений в операции DUP.
Illegal immediate (Недопустим непосредственный операнд)
Команда содержит непосредственный операнд (т.е. константу) там, где он недопустим. Например:
mov 4,al
Illegal indexing mode (Недопустимый режим индексации)
Команда содержит операнд, использующий недопустимую комбинацию регистров. Например:
mov al,[si+ax]
Для всех процессоров, за исключением 80386, допустимыми комбинациями индексных регистров являются следующие: BX, BP, SI, DI, BX+SI, BX+DI, BP+SI, BP+DI.
Illegal instruction (Недопустимая команда)
Строка исходной программы начинается с имени идентификатора, которое не является ни именем директивы, ни мнемоникой команды. Например:
move ax,4 ; должно быть "MOV"
Illegal instruction for currently selected processor(s) (Недопустимая команда для выбранного в настоящий момент процессора (процессоров))
Строка программы содержит команду, которая не может быть ассемблирована текущим процессором. Например:
.8086 PUSH 1234h ; занесение в стек непосредственного ; операнда для процессора 8086 не ; допускается
При ассемблировании исходного файла с помощью Турбо Ассемблера по умолчанию будут разрешены команды процессора 8086. Если желательно использовать расширенные мнемоники команд, определенные для процессоров 186/286/386, то должна быть указана одна из директив, разрешающих использование этих команд (Р186, Р286, Р386).
Illegal local argument (Недопустимый локальный параметр)
В директиве LOCAL внутри макроопределения указан параметр, не являющийся допустимым именем идентификатора. Например:
X MACRO LOCAL 123 ; это не идентификатор ENDM
Illegal local symbol prefix (Недопустимый префикс для локальных имен идентификаторов)
В директиве LOCALS специфицируется недопустимый префикс для локальных имен идентификаторов. Например:
LOCALS XYZ ; ошибка: допускается только 2 символа
Префикс локальных идентификаторов должен состоять ровно из двух символов и представлять собой допустимое имя идентификатора. Например, допустимыми являются следующие комбинации: __, @@ (по умолчанию для локальных имен идентификаторов используется префикс @ @).
Illegal mаcro argument (Недопустимый параметр макрокоманды)
В директиве MACRO для формального параметра макрокоманды указано недопустимое имя идентификатора. Например:
X MACRO 123 ; недопустимый формальный параметр ENDM
Illegal memory reference (Недопустима ссылка на память)
Операнд команды содержит ссылку на адрес памяти, что недопустимо для данного операнда. Например:
mov [bx],BYTE PTR A ; ошибка: недопустима пересылка ; из памяти в память
В данной команде оба операнда представляют собой адреса памяти, что недопустимо в команде mov. В командах семейства процессоров 80х86 только один из операндов может ссылаться на адрес памяти.
Illegal number (Недопустимое число)
Число содержит один или более символов, недопустимых для чисел данного формата. Например:
Z = 0ABCGH
Здесь G - недопустимый символ для шестнадцатиричных чисел.
Illegal origin address (Недопустимый начальный адрес)
Указан адрес, недопустимый для установки текущего сегментного адреса ($). Допускается указывать константу, выражение, использующее счетчика адреса ($), или имя идентификатора из текущего сегмента.
Illegal override in structure (Недопустимое переопределение в структуре)
Попытка инициализировать элемент структуры, определенный с помощью операции DUP. Инициализировать можно только те члены, которые были объявлены без использования операции DUP.
Illegal override register (Недопустимое переопределение регистра)
В ссылке на сегмент перед двоеточием был указан регистр, не являющийся сегментным регистром. К сегментным регистрам относятся следующие регистры: CS, DS, ES, SS, а также FS и GS для процессора 80386. Например:
mov dx:XYZ,1 ; DX не является сегментным регистром
Illegal radix (Недопустимое основание системы счисления)
В директиве .RADIX в качестве основания системы счисления указано недопустимое число. Например:
.RADIX 7 ; неверно
Основанием системы счисления могут быть следующие числа: 2, 8, 10 и 16. Это число интерпретируется как десятичное, независимо от текущего умолчания для основания системы счисления.
1 2 3 4 5 6 7 8 9 10
8 8 8
|