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



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

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


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

АЛУ и флаги

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

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

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


назад