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



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

void xchgdnt a.int b){

int tmp;

tmp-a:

a-b; ^ b«tmp;

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

Ьсс32 -с -S xchg.с

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

АЛУ и флаги

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

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

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


назад далее