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



.8086

stack segment stack BYTE 100 dup (?) stack ends codel segment assume cs:codel target:

jmp far ptr exit codel ends code segment

assume cs:code. ss:stack start:

mov ax. SEG target push ax

mov ax. offset target

push ax

retf

exit:

mov ah. 4ch int 21h code ends end start

Сначала в стеке сохраняется сегментный адрес метки:

mov ах. SEG target push ах

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

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

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

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

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


назад далее