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



книге мы почти не интересовались временем выполнения инструкций процессора и не пытались писать быстро работающие программы, потому что тема слишком сложна для начинающих программистов. Но понять, как вообще сочетаются ассемблер и языки высокого уровня, мы сможем.

Представим себе, что написана программа на языке Си, в которой функция xchg меняет местами две целочисленных переменных а и b (см. листинг 14.1).

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

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

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

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


назад далее