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



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

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

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

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

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

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


назад далее