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



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

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

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

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

Команды микропроцессора

Числовые операции могут пропускать два вида сумм - не имеющие знака двоичные, симптоматичныевосьмеричные, беззнаковые уложенные десятичные и беззнаковые распакованные действительные . Бинарные суммы имеют возможность являться 4- и 64-битными. Действительные упакованные цифири заключают в разряде две цифры, неупакованные - единственную.

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

Знаковые двоичные числа (целые) тоже могут являться 8- и 64-битными. Наиболее больший (наиболее конечный) байт меточного числа интерпретируется как знак данного значения: 0 - положительное число, 1 - истина. Отрицательные числа мыслятся в стандартном бинарном прибавочном двоичном коде. Потому что больший байт меточного значения употребляется для выражения символа, диапазон репрезентации 16-разрядных симптоматичных чисел от - 130 до + 127. 32-байтное целое значение представляется в область распространения от - 32 768 до + 32 767. NULL описывается большим числом. Для меточных значений могут реализовываться процедуры суммирования, отнимания, возвышения и деления.

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


назад далее