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



endm

Если вызвать этот макрос строкой:

Read Handle. 16. PackBuff

то формальные параметры заменятся фактическими, и 16 байт из файла, чей хендл хранится в переменной Handle, будут прочитаны в буфер PackBuff.

Иногда при вызове макроса не хочется указывать все параметры. В нашем при­мере может случиться так, что хендл уже хранится в bx прямо перед вызовом макроса. На этот случай существует директива ifnf (If Not Blank — если не пуст). С ее помощью макрос можно переписать следующим образом:

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

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

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

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


назад далее