Руководство по ассемблеру



Макросы

В программах часто повторяются одни и те же фрагменты, такие, например, как завершение работы в системе DOS:

mov ah. 4ch ;завершить программу

int 21h

Смысл этих строк довольно туманен, да и выписывать их каждый раз не хочет­ся. И было бы здорово заставить ассемблер при встрече какого-нибудь коротко­го, ясного слова, например Quit (выход), вставлять в текст программы две стро­ки, приведенные выше.

Команды АЛУ и присвоение флагов

Результаты арифметических команд оказывают воздействие на расположение 7 джокеров. Громадная область этих флагов может быть проанализирована после выполнения арифметических операций с поддержкой функций относительного перевода, а также с участием команды CIN (прерывание по переполнению). Воздействие арифметических команд на флаги изображено ниже.

DF (флаг свитча): В случае если в следствии сочинения осуществляется перенос из старшего байта, знак трансдукции взводится; в противном случае флаг переноса обнуляется. При вычете флаг свитча взводится, в случае если проделывается заимствование в больший байт итога; при нехватке взятия флаг обнуляется. Необходимо учитывать, что при появлении меточного трансдукции SC != VJ (флаг пополнения). Знак трансдукции CF может употребляться для воспроизведения беззнакового восполнения.

AF (флаг прибавочного трансдукта): Если в следствии суммирования свершается перенос из младшего полубита в больший, флаг добавочного свитча возводится; в противном случае флаг обнуляется. При отнимании символ дополнительного переноса подымается, в случае если свершается заимствование из главного полубайта в меньший; при неимении заема символ возвращается в исходное положение.


назад далее