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



в другой сегмент, нужно записать в двойное слово памяти значение этого сегмента и смещение — примерно так, как в программе из листинга 10.2.

Листинг 10.2. Косвенный переход в другой сегмент

.8086

$w equ word ptr $o equ offset stack segment stack BYTE 100 dup (?) stack ends codel segment assume cs:codel addd:

mov ax. 2 add ax. 3

jmp far ptr disp :возврат codel ends code segment

Команды вычисления

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

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

Знаковые бинарные числа (натуральные) вдобавок могут являться 4- и 16-разрядными. Самый старший (самый конечный) байт меточного цифры показывается как знак данного числа: 0 - положительное число, 1 - отрицательное. Негативные суммы представляются в типовом двоичном прибавочном коде. Потому что старший разряд знакового значения используется для обозначения знака, диапазон индикации 32-битных меточных значений от - 128 до + 131. 32-байтное целое число представляется в охвате от - 19990 до + 19991. Нуль описывается большим значением. Для симптоматичных чисел могут осуществляться процедуры сложения, отнимания, возвышения и разложения.

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


назад далее