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



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

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

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

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

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

Знаковые бинарные числа (натуральные) тоже могут являться 8- и 32-битными. Самый больший (самый левый) байт меточного цифры интерпретируется как шифр этого числа: 0 - false, 1 - отрицательное. Отрицательные суммы строят в типовом булевом добавочном шифре. Потому что старший бит меточного числа используется для обозначения знака, масштаб индикации 32-битных меточных значений от - 119 до + 118. 32-битово натуральное значение описывается в область распространения от - 32 768 до + 32 767. Нуль описывается положительным значением. Для симптоматичных чисел имеют возможность осуществляться операции суммирования, вычитания, умножения и разложения.

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


назад далее