Повідомлення про помилки - Програмування від

Constant too large(Занадто велика константа)

Константа має, власне кажучи, правильний формат, проте її значення перевищує допустиму для даного режиму величину. Наприклад, числа, більші за 0ffffh, можна використовувати, якщо тільки директивою .386/.386P або .486/.486Р дозволені команди процесора 386 або i486.

CS not correctly assumed(Некоректне значення в регістрі CS)

А адреса призначення в командах ближнього виклику і ближнього переходу не може знаходитися в іншому сегменті. Наприклад:

Такі помилки виникають лише у режимі MASM. У режимі Ideal такі переходи та виклики інтерпретуються коректно.

CS override in protected mode(Перевизначення регістру CS у захищеному режимі)

У захищеному режимі асемблювання команд процесора 286, 386 або i486, встановленому директивою Р286Р, P386P або Р486Р, поточна команда потребує перевизначення регістру CS. Наприклад:

Це попереджувальне повідомлення видається, якщо в командному рядку вказано параметр /Р. У захищеному режимі команди, у яких перевизначається регістр CS, виконуватимуться без спеціальних підготовчих операцій.

CS unreachable from current segment(CS недосяжний з поточного сегмента)

При визначенні мітки коду за допомогою двокрапки (:) або директиви LABEL або PROC сегментний регістр не вказує на поточний кодовий сегмент або групу, що містить поточний кодовий сегмент. Наприклад:

Такі помилки виникають лише у режимі MASM. У режимі Ideal такі переходи та дзвінки обробляються коректно.

Не зазначено ім'я ідентифікатора у директиві, для якої специфікація імені єобов'язковою. Наприклад:

Directive ignored in Turbo Pascal model(У режимі TPASCAL директива ігнорується)

У модулі асемблера, призначеному для інтерфейсу з Турбо Паскалем, використовується неприпустима директива. Режим інтерфейсу з Турбо Паскалем специфікується директивою .MODEL. Більш докладно інтерфейс із Турбо Паскалем обговорюється в цьому розділі.

Directive не дозволяється всередині структури визначення(6) (Неприпустима директива всередині визначення структури)

Усередині блоку визначення структури вказана неприпустима директива. Наприклад:

p align="justify"> При визначенні вкладених структур не можна визначати нові структури на внутрішніх рівнях. Наприклад:

Для того, щоб використовувати одну структуру всередині іншої структури, потрібно спочатку визначити першу структуру, а потім у другій структурі можна вказувати ім'я першої.

Duplicate dummy arguments:_(Неприпустиме використання однакових імен для формальних параметрів)

У директиві MACRO визначено декілька формальних параметрів із однаковими іменами. Наприклад:

Усі формальні параметри макровизначення повинні мати різні імена.

ELSE або ENDIF без IF(ELSE або ENDIF без IF)

Для директиви ELSE або ENDIF немає парної директиви IF, що позначає початок умовно асемблируемого блоку. Наприклад:

Expecting METHOD keyword(Потрібен ключове слово METHOD)

У розширеному структурному операторі для визначення об'єктів після об'єкта, що породжує, потрібне ключове слово METHOD.

Expecting offset quantity(Потрібно вказати величину усунення)

В якостіоперанда виразу вказано неправильне значення замість очікуваного усунення всередині сегмента. Наприклад:

Expecting offset or pointer quantity(Потрібно вказати зміщення або покажчик)

Як операнда виразу вказано неправильне значення замість очікуваного усунення всередині специфікованого сегмента. Наприклад:

Expecting pointer type(Операнд має бути покажчиком)

LES di,4; неправильно, т.к. 4 - константа

Expecting record field name(Потрібен ім'я поля запису)

Ви використовували інструкцію SETFIELD або GETFIELD без наступного імені поля.

Expecting register ID(Потрібен ідентифікатор регістру)

У частині USES оператору CALL.METHOD потрібні імена регістрів.

Expecting scalar type(Операнд має бути константою)

Про перенд поточної команди має бути константа. Наприклад:

Expecting segment або group quantity(Має бути вказано ім'я сегмента чи групи)

В операторі замість імені сегмента або групи вказано ім'я, яке не є таким. Наприклад:

Extra characters on line(Зайві символи в рядку)

Вираз має коректний синтаксис, проте слідом за ним, на тому ж рядку є ще зайві символи. Наприклад:

Ця помилка зазвичай є наслідком іншої помилки, в результаті якої аналізатор виразів передчасно закінчує обробку виразу.

Forward reference потребує override(Помилка під час використання умовчання для посилання вперед)

Ці помилки виправляються шляхом явної вказівки сегмента або типу переходу FAR.

Global type doesn"t match symbol type(Тип, зазначений у директиві GLOBAL, не збігається з дійсним типом імені ідентифікатора)