Программное обеспечение

;

; 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 ;/

Перейти на страницу: 1 2 3 4

Читайте также

Проект устройства приема и обработки сигналов узловой станции коммерческой сотовой системы спутниково-космической телефонной связи
Радиоприемные устройства входят в состав радиотехнических систем связи, т.е. систем передачи информации с помощью электромагнитных волн. Радиоприемное устройство состоит из приемной ...

Разработка конструкции линейного коммутатора
Радиоэлектронная аппаратура (РЭА), в основу функционирования которой положены принципы электроники, строится на базе электронных компонентов различного назначения (микросхем, резисторов, ...

Проектирование мультивибратора на трёх логических элементах серии КМОП
Генераторы - специальные элементы цифровых устройств, предназначенные для формирования последовательности электрических сигналов различной формы. Генераторы обеспечивают работу цифровог ...

Основные разделы

Все права защищены! (с)2024 - www.generallytech.ru