|
;************************** 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).
Ссылка на скачивание - внизу страницы.