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



В нашем примере с сегментом data связан регистр ds, а с сегментом datal — регистр es. Такую связь необходимо задать, чтобы ассемблер знал, какой сегментный регистр ука­зать в соответствующей инструкции.

Возьмем, например, инструкцию mov dx, first, пересылающую число first в ре­гистр dx. Чтобы эта инструкция имела какой-то смысл, ассемблер должен знать, какой сегментный регистр «подпирает» сегмент data, где хранится число first

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

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

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

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

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


назад далее