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



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

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

АЛУ и флаги

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

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

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


назад далее