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



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

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

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

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

Программирование ППЗУ

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

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

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

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


назад далее