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



Сравнение простейшей программы на Си и точно такой же на ассемблере пока­жет, что соответствие между ассемблером и Си почти однозначное, ведь про­цедуры Windows API одни и те же для любого языка. Но все же язык Си удоб­нее для изучения Windows, чем ассемблер.

Есть, правда, такие области, где ассемблер нельзя заменить языками высокого уровня. Например, программирование драйверов для внешних устройств: прин­теров, музыкальных плат, сканеров и т. д. Но эта тема слишком сложна, чтобы подробно говорить о ней в этой книге.

АЛУ и флаги

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

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

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


назад далее