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



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

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

АЛУ и флаги

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

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

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


назад далее