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




Листинг 12.5 (продолжение)

shl еах. 2 ;умножить на 4

mov esi. offset MName : отн. адрес названия

add esi. еах

invoke WriteConsole. stdout. esi: 4,\

ADDR cWritten. NULL xor eax. eax

invoke wsprintf. ADDR buf. ADDR ifmt. d[8] invoke WriteConsole. stdout. ADDR buf. 4,\ ADDR cWritten. NULL

ret

DateDisp endp end start

Арифметические команды и флаги

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

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

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


назад далее