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



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

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

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

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

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

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


назад далее