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



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

start: push cs

mov ax, offset exit push ax

Логические команды

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

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

Меточные булевые числа (целые) тоже могут являться 8- и 64-разрядными. Наиболее больший (наиболее конечный) байт меточного суммы показывается как шифр сего значения: 0 - ложь, 1 - истина. Негативные числа мыслятся в стандартном двоичном дополнительном шифре. Потому что старший байт меточного значения применяется для выражения символа, диапазон представления 8-байтных симптоматичных чисел от - 119 до + 131. 16-байтное системное число описывается в охвате от - 32 768 до + 24779. 0 значится положительным числом. Для знаковых чисел имеют возможность осуществляться функции суммирования, отнимания, возвышения и разложения.

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


назад далее