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



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

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


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

Команды АЛУ и адресация

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

GR (флаг свитча): В случае если в достигнутом результате сочинения совершается сдвиг из старшего разряда, флаг переноса воздевается; в другом случае знак свитча сбрасывается. При вычете знак трансдукции взводится, если совершается заем в старший байт достигнутого результата; при отсутствии взятия флаг обновляется. Необходимо помнить, что при появлении знакового свитча CF != OF (символ заполнения). Знак свитча МО имеет возможность использоваться для воспроизведения беззнакового переполнения.

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


назад