;************************** M16_16AF *************************** |
|||
; Подпрограмма умножения дробных беззнаковых двоичных чисел ; с фиксированной перед старшим разрядом запятой ; формата ( ,16)*( ,16)=( ,16), где ( ,16)=(СТБ,МЛБ). ; Входные параметры: (D,E) - адрес множимого в памяти, ; (H,L) - адрес множителя в памяти. ; Выходные параметры: (В,С) - два старших байта произведения. ; Сохраняются (D,E), (H,L). ; Используется подпрограмма M16_16. |
|||
;**************************************************************** |
|||
M16_16AF: |
PUSH D |
; Сохранение адреса множимого |
|
PUSH H |
; Сохранение адреса множителя |
||
; Пересылка множимого из памяти в (В,С) |
|||
XCHG |
|||
MOV B, M |
|||
INX H |
|||
MOV C, M |
; (В,С) - множимое |
||
XCHG |
|||
; Пересылка множителя из памяти в (D,E) |
|||
MOV D, M |
|||
INX H |
|||
MOV E, M |
; (D,E) - множитель |
||
; Умножение целых двоичных чисел 16*16=32 |
|||
CALL M16_16 |
; (В,С,Н,L) - произведение |
||
; Округление СТБ,СРБ произведения |
|||
MOV A, H |
|||
RAL |
|||
JNC PER |
|||
INX B |
|||
PER: |
POP H |
||
POP D |
|||
RET |
|||
Программы деления двоичных чисел
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.