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



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

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

Команды АЛУ и присвоение флагов

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

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

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


назад далее