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



endm

При вызове макроса вместо формального параметра ставится фактический. В программе из листинга 12.4 строка: LDisp hello

обрабатывается следующим образом: формальный параметр line всюду в теле макроса заменяется фактическим hello, и затем преображенное тело макроса вставляется в текст программы вместо строки LDisp hello. Так что ассемблер ви­дит перед собой три строки:

Арифметические команды и флаги

Результаты цифeрных операций оказывают воздействие на состояние 6 флагов. Большая область сих указателей может быть рассчитана после произведения арифметических операций с помощью процедур сравнительного перехода, и вдобавок с поддержкой процедуры IN (перебой по переполнению). Влияние циферных команд на указатели изображено внизу.

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

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


назад далее