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



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

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

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

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

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

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


назад далее