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



Сегменты

Пожалуй, самое важное отличие программы, написанной для DOS, от консоль­ного приложения Windows — в способах обращения с памятью. Строка mov dx, offset hello

из листинга 9.1 кажется нам знакомой: по-видимому, в ней адрес начала после­довательности символов Не могу молчать! записывается в регистр dx.

Но ведь dx — 16-битовый регистр и может содержать всего 216 = 65 536 различ­ных адресов, что очень мало даже для такой старой системы как DOS

Программирование ППЗУ

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

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

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

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


назад далее