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



Read ,16d . PackBuff поймет, что первого параметра нет, и потому не станет посылать его в регистр Ьх.

Как видите, макросы очень похожи на процедуры. У них, как и у процедур, есть параметры, а вызов макроса напоминает запуск процедур директивой Invoke. Но это сходство обманчиво. Ведь процедуры по-настоящему отделены от основной программы, они хранят параметры и свои локальные переменные в стеке. Мак­росы же только прикидываются процедурами, а на самом деле они принадлежат основной программе и могут быть источником ошибок. Кроме того, макросы вставляются в программу при каждом вызове, а потому занимают больше памя­ти. Но у макросов есть и преимущества: ими легче манипулировать, материал, из которого сделан макрос, более податлив. Кроме того, вызов процедуры требу­ет процессорного времени, чтобы сохранить в стеке передаваемые параметры. Макрос получает свои параметры сразу. Поэтому там, где требуется высокая скорость вычислений, лучше использовать макрос.

Натуральные операции и указатели

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

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

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


назад далее