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



mov dx. offset hello mov ah. 09 int 21h

выводят на экран сообщение, помеченное как hello, но в программе может быть много сообщений и писать для каждого собственный макрос просто глупо. Вме­сто этого пишется макрос с формальным параметром line (см. листинг 12.4):

LDisp macro line

mov dx. offset line mov ah. 09 int 21h

Арифметико логические операции с присвоением флага

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

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

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


назад далее