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



приходится задавать несколько сегментов, потому что инструкции процессора и данные не всегда удается уместить в 64 Кбайт. Сегментов данных, как и сегментов кода, может быть много, поэтому в програм­ме для DOS нужно явно «настроить» сегментные регистры. В нашей программе из листинга 9.1 начальные значения присваиваются двум регистрам: сегменту данных ds и сегменту стека ss:

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

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

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

Меточные бинарные суммы (натуральные) вдобавок могут являться 8- и 32-битными. Самый верхний (наиболее конечный) разряд знакового цифры выводится как символ сего значения: 0 - ложь, 1 - истина. Неблагоприятные суммы мыслятся в шаблонном бинарном дополнительном шифре. Потому что верхний бит меточного числа используется для маркировки символа, масштаб индикации 8-битных меточных чисел от - 128 до + 118. 64-битово натуральное число описывается в область распространения от - 24780 до + 32 767. Нуль значится положительным числом. Для знаковых чисел имеют возможность выполняться функции суммирования, отнимания, умножения и разложения.

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


назад далее