;
; 2. Нахождение разности порядков
; Примечание. Из большего порядка вычитается меньший,
; чтобы разность порядков была неотрицательной
;
; 2.1. Порядок X не меньше порядка Y (Px ³ Py) (CH)³(DH).ah,ch ; Нахождение разности порядков или другимиah,dh ; словами кол-ва сдвигов меньшей мантиссыP,ch ; Занесение в P большего порядкаal,dl ; \bl,[di] ; В AX,BX заносится меньшее числоbh,[di+1] ;/SIGL,al ; Сохранение знака меньшего числаdl,[si] ; В CX,DX заносится большее числоdh,[si+1] ; (по модулю)SIGN,cl ; Сохранение знака результата@L2
;
; 2.2. Порядок X меньше порядка Y (Px < Py) (CH) < (DH).
@L1:ah,dh ; Нахождение разности порядков или другимиah,ch ; словами кол-ва сдвигов меньшей мантиссы.P,dh ; Занесение в P большего порядкаal,cl ;\bl,[si] ; В AX,BX заносится меньшее числоbh,[si+1] ;/SIGL,al ; Сохранение знака меньшего числаcl,dl ; \dl,[di] ; В CX,DX заносится большее числоdh,[di+1] ;/ (по модулю)SIGN,cl ; Сохранение знака результата
;
; 3. Преобразование мантисс слагаемых в дополнительный код.
;
; 3.1. Перевод трех байт мантиссы меньшего числа (al,bx)
; из прямого кода в дополнительный
@L2:al,1 ; бит (C) ¬ (регистр al) ¬ 0@L3 ; Переход к метке @L3, если (C) = 0, т.е.
; число в регистрах (al,bx) - неотрицательноеal,1 ; Возврат "1" из бита (C) в старший бит (al).bx ; \al ; Перевод в ДКbx,1 ; отрицательного числа в регистрах (al,bx)al,0 ;/@L4
@L3:al,1 ; Возврат "0" из бита (C) в старший бит (al).al,80H ; Принудительная установка старшего бита
; регистра (al) в "1" (его вес = 1/2)
;
; 3.2. Перевод трех байт мантиссы большего числа (cl,dx)
; из прямого кода в дополнительный
@L4:cl,1 ; бит (C) ¬ (регистр cl) ¬ 0@L5 ; Переход к метке @L5, если (C) = 0, т.е.
; число в регистрах (cl,dx) - неотрицательноеcl,1 ; Возврат "1" из бита (C) в старший бит (cl)dx ;\cl ; Перевод в ДКdx,1 ; отрицательного числа в регистрах (cl,dx)cl,0 ;/@L6
@L5:cl,1 ; Возврат "0" из бита (C) в старший бит (cl)cl,80H ; Принудительная установка старшего бита
; регистра (al) в "1" (его вес = 1/2)
;
; 4. Значение полученной разности используется как количество
; сдвигов вправо мантиссы числа с меньшим порядком
@L6:ah,0@L7ch,SIGL ;\ch,1 ; Сдвиг вправоal,1 ; меньшего числаbx,1 ;/ah ; Уменьшение на 1 значения счетчика сдвигов@L6
;
; 5. Сложение мантисс по правилам сложения чисел с фиксиро-
; ванной запятой
@L7:bx,dx ; Сложениеal,cl ; мантисс
; 6. Преобразование мантиссы результата в прямой код
@L8:cl,SIGN ; Дублированиеcl,1 ; знака результатаcl,1 ; Проверка знака результата (числа с большим
; порядком)@L9 ; Переход к метке @L9, если (C) = 0, т.е.
; если мантисса суммы неотрицательнаbx,1 ;\al,0 ; Перевод отрицательной мантиссы суммы вbx ; (al,bx) из дополнительного кода в прямойal ;/
;
; 7. Нормализация мантиссы результата и при необходимости
; коррекция значения его порядка
@L9:bx,1al,1@L10ah,1@L9
;
; 8. Получение порядка и окончательного результата
@L10:ah,P
;cl,1 ; бит (C) ¬ 0, (регистр al)¬ 0ax,1bx,1
;[si],bl ;\[si+1],bh ; Пересылка результата[si+2],al ; в память[si+3],ah ;/
Читайте также
Проект устройства приема и обработки сигналов узловой станции коммерческой сотовой системы спутниково-космической телефонной связи
Радиоприемные устройства входят в
состав радиотехнических систем связи, т.е. систем
передачи информации с помощью электромагнитных волн. Радиоприемное устройство состоит из приемной ...
Разработка конструкции линейного коммутатора
Радиоэлектронная аппаратура (РЭА), в основу функционирования которой
положены принципы электроники, строится на базе электронных компонентов
различного назначения (микросхем, резисторов, ...
Проектирование мультивибратора на трёх логических элементах серии КМОП
Генераторы
- специальные элементы цифровых устройств, предназначенные для формирования
последовательности электрических сигналов различной формы. Генераторы
обеспечивают работу цифровог ...