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



assume cs:code, ss:stack

start:

jmp addd

Помимо прямых переходов разной дальности, с которыми мы только что позна­комились, есть еще и косвенные переходы по адресу, задаваемому в регистре или памяти компьютера:

:0000 В80200 M0V АХ, 0002 :0003 BA0B00 MOV DX.000B :0006 FFE2 JMP DX :0008 В80300 M0V АХ, 0003 :000В

Здесь адрес перехода посылается сначала в регистр dx инструкцией mov dx, offset exit, а затем уже происходит переход по указанному в этом регистре адресу

Команды АЛУ

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

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

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

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


назад далее