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



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

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

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

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

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

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


назад далее