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