Rotate count out of range (Недопустимое значение для счетчика сдвига)
В команде сдвига или циклического сдвига второй операнд превышает допустимое значение. Например:
.8086
SHL DL,3 ; ошибка: в командах процессора 8086 ; возможен сдвиг только на один разряд .286 ROR ax,40 ; ошибка: максимальное допустимое ; значение для счетчика сдвига равно 31
Максимальное допустимое значение для счетчика сдвига в командах процессора 8086 равно 1, для других процессоров это значение может быть равно 31.
Segment alignment not strict enough (Выравнивание сегмента не достаточно точное)
Указано недопустимое значение для границы выравнивания сегмента. Либо оно не является степенью двойки, либо специфицирует более точное выравнивание чем то, которое указано в директиве SEGMENT. Например:
DATA SEGMENT PARA ALIGN 32 ; ошибка: PARA означает только 16 ALIGN 3 ; ошибка: не является степенью двойки
Segment attributes illegally redefined (Недопустимое переопределение атрибутов сегмента)
Директивой SEGMENT повторно открывается уже определенный ранее сегмент, при этом указываются новые значения для атрибутов этого сегмента. Например:
DATA SEGMENT BYTE PUBLIC DATA ENDS DATA SEGMENT PARA ; ошибка: ранее было указано ; выравнивание на байт DATA ENDS
При повторном открытии сегмента атрибуты либо должны иметь те же самые значения, либо вообще быть опущены. Если при повторном открытии сегмента атрибуты не указаны, то используются атрибуты из предыдущего определения.
Segment name is superfluous (Имя сегмента игнорируется)
Это предупреждающее сообщение выдается в тех случаях, когда в директиве .CODE указано имя сегмента, а в текущей модели памяти не допускается использовать более одного сегмента.
String too long (Слишком длинная строка)
Указанная в кавычках строка имеет длину, превышающую максимально допустимую - 255 символов.
Symbol already defined:__ (Имя идентификатора уже определено)
Указанное имя идентификатора уже было ранее объявлено с тем же самым типом. Например:
BB DB 1,2,3 BB DB ? ; ошибка: BB уже определено
Symbol already different kind (Имя идентификатора уже объявлено с другим типом)
Указанное идентификатора имя было ранее объявлено с другим типом, например:
BB DB 1,2,3 BB DW ? ; ошибка: BB уже объявлено с типом BYTE
Symbol has no width or mask (Имя идентификатора не может быть использовано в операциях WIDTH и MASK)
Операнд операции WIDTH или MASK не является именем записи или именем поля записи. Например:
B DB 0 mov ax,MASK B ; В не является полем записи
Symbol is not a segment or already part of a group (Имя идентификатора не является именем сегмента либо уже определено в группе)
Либо имя идентификатора уже определено в группе, либо не является именем сегмента. Например:
DATA SEGMENT DATA ENDS DGROUP GROUP DATA DGROUP2 GROUP DATA ; ошибка: DATA уже определено в DGROUP
Text macro expansion exceeds maximum line length (Расширение текстовой макрокоманды превышает максимально допустимую длину)
Это сообщение об ошибке выдается, когда расширение текстовой макрокоманды превышает максимально допустимую длину.
Too few operands to instruction (В команде не хватает операндов)
В команде должно быть указано большее число операндов. Например:
ADD ax ; отсутствует второй операнд
Too many errors or warnings (Слишком много ошибок или предупреждений)
Сообщения об ошибках больше выдаваться не будут. Максимальное число сообщений об ошибках, которое выдается Турбо Ассемблером, равно 100. Это максимально допустимое число ошибок превышено. Ассемблирование программы тем не менее будет продолжено, однако далее будут печататься только предупреждающие сообщения.
Too many initial values (Слишком много начальных значений)
При инициализации структуры или объединения указано слишком много значений. Например:
XYZ STRUC A1 DB ? A2 DB ? XYZ ENDS ANXYZ XYZ <1,2,3> ; ошибка: в XYZ определены ; только два поля
При инициализации полей структур и объединений допускается указывать меньше значений, чем число полей, но нельзя указывать больше значений.
1 2 3 4 5 6 7 8 9 10
8 8 8
|