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



mov word ptr [bx+si], 3 mov ah, 4ch int 21h

array WORD ARRSIZE dup (?) code ends end start

В ней адрес начала массива загоняется в регистр bx инструкцией mov bx, offset array. Далее в регистр si записывается число 5 — номер элемента массива. А по­скольку в массиве array хранится ARRSIZE слов, то si нужно еще умножить на 2, чтобы получить адрес элемента относительно начала массива. А дальше инст­рукция mov word ptr [bx + si], 3 записывает число 3 в пятый элемент массива.

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

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

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

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

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


назад далее