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



2. Создается функция на языке ассемблера xchg.asm. Как принять параметры внутри функции и какие регистры сохранить, подскажет компилятор, если создать «муляж» функции на языке Си и получить ассемблерный листинг.

Оба файла передаются компилятору bcc32 main.с hchg.asm, который создаст файл main.exe. Ну а дальше начинается самое главное: нужно так подобрать инструк­ции процессора, чтобы они выполнялись быстрее созданных компилятором языка высокого уровня.


Для каждого процессора фирмы Intel эта задача реша­ется по-своему, потому что время выполнения одной и той же инструкции у разных процессоров различно. Чтобы справиться с этой задачей, нужно хорошо знать устройство процессоров и того, что их окружает. Ведь скорость выполне­ния программ часто определяется не самим процессором, а его взаимодействием с компьютерной памятью и внешними устройствами (жесткими дисками, порта­ми USB и т. д.). Но все это — тема других, гораздо более толстых, книг.

Адресация разрядов

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

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

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


назад