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



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

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

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

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

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

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


назад далее