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



Листинг 12.3. Организация цикла с помощью директив .while .endw

mov есх. 10 .WHILE есх !-0

push есх

push edx

invoke wsprintf. ADDR buf. ADDR ifmt. edx invoke WriteConsoleA. stdout. ADDR buf. \

BSIZE. ADDR cWritten. NULL invoke WriteConsoleA. stdout. ADDR crlf. \

2. ADDR cWritten. NULL pop edx i nc edx pop ecx dec ecx .ENDW

Перед циклом .WHILE в регистр ecx посылается число 10

Арифметико логические операции с присвоением флага

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

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

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


назад далее