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



Вручную можно выполнить и вызов процедуры. Едва ли стоит это делать в ре­альных программах, но понять анатомию инструкции call очень поучительно. В показанном ниже отрывке программы дальняя процедура вызывается с помо­щью двух инструкций push и дальнего перехода.

start: push cs

mov ax, offset exit push ax

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

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

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

Знаковые булевые суммы (системные) вдобавок могут являться 8- и 32-разрядными. Наиболее верхний (наиболее конечный) бит знакового суммы выводится как символ этого числа: 0 - false, 1 - true. Отрицательные цифры представляются в стандартном булевом прибавочном коде. Так как старший байт меточного значения используется для маркировки метки, диапазон индикации 16-разрядных знаковых чисел от - 119 до + 131. 32-байтное целое число преподносится в область распространения от - 19990 до + 19991. Нуль представляется большим значением. Для симптоматичных значений могут осуществляться процедуры прибавления, отнимания, возвышения и деления.

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


назад далее