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



Зная «законы компилятора», легко «выпотрошить и выбросить вон» созданную им функцию, а взамен написать свою, которая, возможно, будет работать быст­рее. В случае с компилятором Borland С++ последовательность действий будет такой:

1. Создается программа на языке Си, где объявлена функция, которую нужно переписать на ассемблере. В нашем случае она выглядит так:

АЛУ и указатели

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

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

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


назад далее