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




Листинг 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

Команды АЛУ и адресация

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

GR (флаг трансдукции): Если в следствии сочинения осуществляется свитч из старшего байта, знак переноса взводится; в другом случае знак свитча сбрасывается. При сбавке символ переноса возводится, ежели свершается заем в главный разряд счёта; при отсутствии заимствования символ обновляется. Следует иметь в виду, что при происхождении знакового трансдукции SC != OF (символ заполнения). Флаг переноса CF имеет возможность употребляться для индикации неимеющего знака заполнения.

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


назад далее