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



имя программы>. Программа из листинга 9.2 смотрится в окне AfdPro примерно так, как на рис. 9.1.


Первые четыре строки, видные в окне отладчика:

0000 В89Е2Е MOV АХ.2Е9Е

0003 8ED8 MOV DS.AX

0005 B89F2E MOV AX.2E9F

0008 8ЕС0 MOV ES.AX

присваивают начальные значения сегментным регистрам. Следующая строка, оче­видно, представляет инструкцию mov dx, first: 8В160000 MOV DX, [0000]

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

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

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

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

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


назад далее