141 Cannot compile overlay to memory - Нельзя выполнить компиляцию оверлейных модулей в память
Программа, использующая оверлейные модули, должна компилироваться на диск
142 Procedure or function variable expected - Должна использоваться переменная процедурного типа
В этом контексте оператор получения адреса @ может использоваться только с переменной процедурного типа
143 Invalid procedure or function reference - Недопустимая ссылка на процедуру или функцию
Возможные причины сообщения:
- Вы пытаетесь вызвать процедуру в выражении
- процедура или функция, использующаяся в качестве параметра вызова другой процедуры или функции, должна компилироваться в состоянии {$F+} и не может описываться с помощью зарезервированных слов INLINE или INTERRUPT
144 Cannot overlay this unit - Этот модуль не может использоваться в качестве оверлейного
Попытка использовать в качестве оверлейного модуль, который не был скомпилирован с директивой {$O+}
145 Too many nested scopes - Слишком много вложений
В программе не может быть больше 512 вложений с не более чем 128 вложениями в каждом модуле. Вложениями считаются:
- каждый модуль в предложении USES
- каждая вложенная запись в типе RECORD
- каждый вложенный оператор WITH
146 File access denied - Отказано в доступе к файлу
Возможные причины:
- Вы пытаетесь использовать файл с атрибутом «только для чтения» в качестве выводного файла
- Вы используете имя каталога вместо имени выводного файла
147 Object type expected - Здесь должен быть тип OBJECT
Этот идентификатор должен принадлежать к типу OBJECT
148 Local object types are not allowed - Нельзя объявлять локальные объекты
Нельзя объявить объект в процедуре (функции)
149 VIRTUAL expected - Пропущено слово VIRTUAL
150 Method identifier expected - Пропущен идентификатор инкапсулированного правила
151 Virtual constructor are not allowed - Конструктор не может быть виртуальным
152 - Ошибка с этим кодом не описана в версии 7.0 системы Турбо Паскаль
153 Destructor identifier expected - Пропущен идентификатор деструктора
154 Fail only allowed within constructor - Обращение к стандартной процедуре FAIL может содержаться только в конструкторе
155 Invalid combination of opcode and operands - Недопустимая комбинация кода команды и операндов
Код ассемблерной команды не может иметь такие операнды. Причины ошибки:
- указано слишком много или слишком мало операндов для данной команды, например, INC AX, BX или MOV AX
- количество операндов правильное, но их типы или порядок следования не соответствуют данной команде, например, DEC 1, MOV AX, CL или MOV 1, AX
156 Memory reference expected - Отсутствует адрес
Операнд ассемблерной команды не содержит адрес. Вероятно, Вы забыли выделить квадратными скобками индексный регистр, например, MOV АХ, BX+SI вместо MOV АХ, [BX+SI]
157 Cannot add or subtract relocatable symbols - Нельзя складывать или вычитать перемещаемые символы
В ассемблерных выражениях обоими операндами в операциях сложения или вычитания могут быть только ссылки на константу. Идентификаторы переменных, процедур, функций и меток являются перемещаемымисимволами и не могут использоваться в качестве двух операндов одновременно в таких операциях. Если VAR -идентификатор переменной, a CONST - константы, то предложения MOV AX, CONST+CONST и MOVE AX, VAR+CONST будут правильными, в то время как выражение MOV AX, VAR+VAR недопустимо
158 Invalid register combination - Недопустимая комбинация регистров
Допустимыми комбинациями индексных регистров являются [ВХ] , [BpJ, [SI], [DI] , [BX+SI] , [BX+DI] , [BP+SI] и [BP+DI] . Другие комбинации (например, [АХ] , [BP+BX] , [SI+DX]) недопустимы. Заметим, что локальные переменные размещаются в стеке и доступ к ним организуется через регистр ВР. Ассемблер автоматически добавляет [ВР] в ссылках на такие переменные, поэтому в операндах типа LOCAL [ВХ] , где LOCAL - локальная переменная, образуется недопустимая ссылка LOCAL[BP+BX]
159 286/287 instructions are not enabled - Недоступен набор команд микропроцессоров 286/287
Используйте директиву {$G+}, но учтите, что такую программу можно исполнять только на ПК, оснащенных микропроцессором Intel 80286/80287 или более поздним
160 Invalid symbol reference - Недопустимая ссылка на символ
К указанному символу нельзя обратиться в ассемблерной программе. Это может быть следствием таких причин:
- Вы пытаетесь использовать ссылки на стандартные процедуры (функции) или специальные массивы MEM, MEMW, MEML, PORT и PORTW в ассемблерных операндах
- Вы обращаетесь к строковой, вещественной константе или константе типа SET в операнде ассемблерной команды
- в ассемблерном операнде Вы обращаетесь к процедуре или функции, написанной в режиме INLINE
- Вы пытаетесь получить с помощью операции @Result доступ к результату, возвращаемому функцией
- Вы пытаетесь использовать короткую форму команды JMP для передачи управления в непомеченный оператор программы
161 Code generation error - Ошибка генерации кода
Ошибка возникает, в частности, при компиляции ассемблерных фрагментов, содержащих команды LOOP, LOOPE, LOOPNE, JCXZ, если команда ссылается на недоступную метку
162 ASM expected - Отсутствует зарезервированное слово ASM
|