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



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

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


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

Поразрядные операции и адресация

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

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

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


назад