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



В Windows нет ни сегментов, ни смещений, поэтому там каждой программе для DOS под­меняют адрес перехода по прерыванию, после чего он становится 32-разрядным. Вот почему отладчик AfdPro может видеть в первых 1024 байт памяти одни адре­са, а инструкциями

mov ах. es:[bx] :смещение

mov dx. es:[bx+2] ;сегмент в регистры ах и dx будут записаны совсем другие

Микропроцессорное программирование

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

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

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

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


назад далее