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



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

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

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

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

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

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

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

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

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


назад далее