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



В зависимости от того, равен или не равен сх нулю, программа покажет на экране фразу Равны или Не равны. Заметим, что сообщения Равны и Не равны должны быть именно в сегменте hayl, потому что процедура DOS, показывающая их на экране, требует, чтобы смещение сообщения, засылаемое в регистр dx инструк­цией:

mov dx. offset <сообщение> указывалось относительно сегмента ds.

Инструкции seas, movs, cmps, lods, stos, с которыми мы только что познакомились, работают и в консольных приложениях Windows. Но там у программы всего один сегмент, поэтому инструкциям нужны только смещения, что сильно упрощает работу не только с этими, но со всеми остальными инструкциями.

Нам осталось сказать, что префиксы rep, repe, герпе (повторять, пока не равно) работают только с инструкциями seas, movs, cmps, stos. Бессмысленно использо­вать их с такими инструкциями, как mov.

Микропроцессорное программирование

Циферные операции могут пропускать три разновидности цифа - не имеющие знака шестнадцатеричные, знаковыедвоичные, без знака упакованные 10-тичные и без знака незапакованные действительные . Бинарные числа имеют возможность быть 2- и 16-байтными. Десятичные разряжённые суммы содержат в бите две цифры, незапакованные - единственную.

Беззнаковые 16-битовые булевы цифры могут насчитать значение от 0 до 255. Для репрезентации беззнаковых чисел в широте от нуля до 52680 используются 15 бит. Над без знака двоичными цифрами имеют возможность выполняться функции суммирования, отнимания, увеличения и разложения.

Знаковые бинарные числа (системные) тоже могут быть 2- и 32-битными. Наиболее старший (самый конечный) байт меточного суммы показывается как знак сего числа: 0 - false, 1 - true. Отрицательные суммы строят в шаблонном булевом дополнительном двоичном коде. Так как верхний бит знакового значения используется для выражения знака, масштаб репрезентации 32-байтных симптоматичных чисел от - 130 до + 131. 32-битово целое число преподносится в диапазоне от - 24780 до + 24779. Нуль описывается позитивным значением. Для знаковых значений могут реализовываться функции прибавления, вычитания, умножения и деления.

Уложенные действительные числа заключают в каждом бите четыре десятичных (0 - 9) цифры. В верхнем полубите помещается старшая приоритетная дробь, в младшем - младшая. Всякая натуральная дробь преподносится в булевой (либо, что одно и то же, в 16-разрядном) представлении. Объём представления пакованных натуральных чисел в байте 0 - 99. Сложение и вычитание пакованных десятичных чисел разворачивается в три такта. Сперва байты складываются либо уменьшаются как не имеющие знака бинарные числа, а затем идентичная функция поправки сводит результат к виду правильного пакованного натурального значения.


назад далее