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



На мой взгляд, в этих упреках есть своя правда, хотя и до директив .IF .ELSE .ENDIF мы уже вступили на скользкую дорожку, ведущую к языкам высокого уровня, когда согласились использовать директиву invoke для запуска проце­дуры и терпели своеволие ассемблера, добавлявшего в процедуру пролог push ebp, mov ebp, esp и эпилог leave (см

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

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

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

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


назад далее