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



А теперь поставим перед собой задачу научиться сочетать функции, написанные на Си, и функции, написанные на ассемблере. Проще всего это сделать, подсмот­рев, как компилятор транслирует функцию на язык ассемблера. Разумеется, ка­ждый компилятор делает это по-своему, поэтому попробуем поработать с тем, что оказалось под рукой — компилятором Borland С++ версии 5.5. Г.

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

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

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

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


назад далее