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



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

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

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

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

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

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

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

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


назад далее