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



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, а затем уже происходит переход по указанному в этом регистре адресу

Работа с функциями АЛУ

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

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

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

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


назад далее