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



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

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


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

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

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

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

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


назад