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



Попробуем ответить на сообщение WM_PAINT словами «Не могу молчать!» в рабо­чей области окна. Замечательно, что для этого почти не нужно менять програм­му из листинга 13.4. Достаточно добавить в раздел .data массив символов «Не могу...» (назовем его Hello) и еще одну «ветку» .ELSEIF.

Листинг 13.5. Вывод текста в окно


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

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

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

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


назад далее