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



Использование косвенной адресации для доступа к полю Year: invoke wsprintf. ADDR buf. ADDR ifmt. d[8]

открывает нам внутреннее устройство структуры, но в реальных программах удоб­ней пользоваться «точкой»: d.Year. Глядя на листинг, начинаешь понимать, по­чему дню, месяцу и году отведено по двойному слову, в то время как для числа и месяца достаточно одного байта, а год легко уместится в двух

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

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

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

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


назад далее