ого числа (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 ;/
ret
; ENDP
; ========================================= ========
; підпрограма перетворення цілого числа в формат ПЗ
; ========================================= ======== PROC FAR
; BH, 0; Скинути регістр ВН
MOV AX, SI; Перевірити вихідне число AX, BX; на нуль EXIT; Кількість дорівнює нулю AL, BL; Зберегти знак в регістрі AL
TEST AL, 80H; Перевірити знак числа NOC; Число позитивне SI; Число негативне, BL; утворити його SI...