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



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

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


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

Натуральные операции и указатели

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

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

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


назад