Assembler - язык неограниченных возможностей


Условное ассемблирование - часть 2


IFDIF <арг1>,<арг2>/ELSEIFDIF <арг1>,<арг2> — если аргументы отличаются (с различием больших и маленьких букв);

IFDIFI <арг1>,<арг2>/ELSEIFDIFI <арг1>,<арг2> — если аргументы отличаются (без различия больших и маленьких букв);

IFIDN <арг1>,<арг2>/ELSEIFIDN <арг1>,<арг2> — если аргументы одинаковы (с различием больших и маленьких букв);

IFIDNI <арг1>,<арг2>/ELSEIFIDNI <арг1>,<арг2> — если аргументы одинаковы (без различия больших и маленьких букв).

Иногда директивы условного ассемблирования используются для того, чтобы прервать ассемблирование программы, если обнаружилась какая-нибудь ошибка. Для таких случаев предназначены директивы условной генерации ошибок.

if $ gt 65535 ; Если адрес вышел за пределы сегмента. .err endif

Встретив директиву .ERR, ассемблер прекратит работу с сообщением об ошибке. Аналогично командам условного ассемблирования существуют модификации команды .ERR:

    .ERR1 — ошибка при первом проходе ассемблирования;

    .ERR2 — ошибка при втором проходе ассемблирования;

    .ERRE выражение — ошибка, если выражение равно нулю (ложно);

    .ERRNZ выражение — ошибка, если выражение не равно нулю (истинно);

    .ERRDEF метка — ошибка, если метка определена;

    .ERRNDEF метка — ошибка, если метка не определена;

    .ERRB <аргумент> — ошибка, если аргумент пуст (эта и все следующие директивы используются в макроопределениях для проверки параметров);

    .ERRNB <аргумент> — ошибка, если аргумент не пуст;

    .ERRDIF <арг1>,<арг2> — ошибка, если аргументы различны;

    .ERRDIFI <арг1>,<арг2> — ошибка, если аргументы отличаются (сравнение не различает большие и маленькие буквы);

    .ERRIDN <арг1>,<арг2> — ошибка, если аргументы совпадают;

    .ERRIDNI <арг1>,<арг2> — ошибка, если аргументы совпадают (сравнение не различает большие и маленькие буквы).





Начало  Назад  Вперед