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



.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- и 64-разрядными. Действительные разряжённые числа содержат в разряде две ступени, незапакованные - одну.

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

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

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


назад далее