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



Листинг 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 флагов. Большая часть этих указателей будет рассмотрена после исполнения арифметических процедур с участием функций относительного перевода, и вдобавок с поддержкой процедуры INTO (прекращение по восполнению). Влияние действительных команд на флаги обрисовано ниже.

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

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


назад далее