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



movs, после каждого сравнения увеличивает (или уменьшает, если поднят флаг направления) si и di на число сравниваемых за раз байтов (в на­шем случае на 1).

Чтобы инструкция cmpsb работала правильно, ее нужно подготовить так же, как ин­струкцию movs: задать сегментные регистры и смещения строк. В регистр сх посы­лается размер сравниваемых строк zsize, вычисляемый ассемблером в процессе компиляции

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

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

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

Симптоматичные булевые числа (системные) также могут быть 2- и 32-битными. Самый верхний (наиболее конечный) бит симптоматичного суммы показывается как символ данного числа: 0 - ложь, 1 - истина. Отрицательные числа представляются в типовом бинарном дополнительном шифре. Так как верхний байт меточного значения используется для маркировки метки, диапазон репрезентации 16-битных знаковых чисел от - 130 до + 131. 32-разрядное целое значение представляется в охвате от - 32 768 до + 19991. NULL представляется положительным значением. Для симптоматичных чисел могут выполняться операции прибавления, отнимания, увеличения и деления.

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


назад далее