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



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

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

Адресация разрядов

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

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

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


назад далее