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



Эта сумма может быть адресом, а может и не быть, и потому мы вольны ис­пользовать ее как угодно.

Но поскольку изначальный смысл инструкции lea все-таки в получении адреса, ее можно использовать так же, как и оператор offset. Инструкции:

mov bx. offset arr ;BB1400 MOV BX. 0014 lea bx. arr ;8D1E1400 LEA BX. [0014]

Число можно и вычесть, то есть возможен и такой адрес: [еах + edx8 — 42].

посылают в регистр bx одно и то же число — адрес, связанный с меткой агг. Но инструкция lea занимает больше места в памяти, и потому оператор offset мо­жет быть выгодней там, где эту память приходится экономить.

Команды вычисления

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

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

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

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


назад далее