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



В компиляторе Borland С++ выдачей листинга на ассемблере управляет ключ -S. Чтобы получить этот листинг, сохраним функцию в отдельном файле xchg.с

void xchgdnt a.int b){

int tmp;

tmp-a:

a-b; ^ b«tmp;

и запустим из оболочки FAR компилятор:

Ьсс32 -с -S xchg.с

Ключ -с в командной строке означает, что на выходе создается только объект­ный файл xchg.ob], компоновщик не запускается. А ключ -S командует компиля­тору создать ассемблерный листинг функции.

Методики адресации разрядов

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

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

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


назад далее