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



endm

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

Read Handle. 16. PackBuff

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

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

Команды АЛУ и адресация

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

GR (знак переноса): Если в следствии сложения осуществляется перенос из большего бита, знак переноса возводится; в другом случае символ трансдукции сбрасывается. При сбавке символ трансдукции возводится, если проделывается заимствование в главный бит результата; при отсутствии заема символ сбрасывается. Следует иметь в виду, что при появлении знакового свитча ВА = OF (флаг переполнения). Символ переноса МО может использоваться для индикации беззнакового переполнения.

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


назад далее