Voyager #03
19 октября 1998

Лаборатория - Алгоритм деления и умножения больших чисел.

<b>Лаборатория</b> - Алгоритм деления и умножения больших чисел.
                 *  *  *


     Вторая программка (вернее, их две) реализует
быстрые алгоритмы деления и умножения больших чи-
сел. На их основе несложно написать п/п ввода деся-
тичных чисел в регистры (преобразование строки в
число).

Обозначение:


MUL_HLBC_DE : Регистры HLBC=HLBC*DE


DIV_HLBC_DE : Регистры HLBC=HLBC/DE


     Точки входа MUL16 и DIV16, как и следует из
названия, выполняют умножение и деление 16-битных
чисел. Причем, если умножается 16 бит на 16, то в
результате получается 32 бита.

;====================================
;       16-BIT MULTIPLY
;====================================
MUL16:   LD      HL,0 
MUL_HLBC_DE:
        LD      A,B 
        LD      B,11H 
        JR      L4928 
L4921:   JR      NC,L4924 
        ADD     HL,DE 
L4924:   RR      H 
        RR      L 
L4928:   RRA 
        RR      C 
        DJNZ    L4921 
        LD      B,A 
        RET 
;====================================
;       16-BIT DIVIDE
;====================================
DIV16:   LD      HL,0 
DIV_HLBC_DE:
        LD      A,B 
        LD      B,10H 
        RL      C 
        RLA 
L493B:   RL      L 
        RL      H 
        JR      C,L494E 
        SBC     HL,DE 
        JR      NC,L4946 
        ADD     HL,DE 
L4946:   CCF 
L4947:   RL      C 
        RLA 
        DJNZ    L493B 
        LD      B,A 
        RET 
L494E:   OR      A 
        SBC     HL,DE 
        JR      L4947 


                 *  *  *


     Ну вот, вроде бы и все на сегодня. Да, чуть
не забыл: все эти программки написал где-то году в
1983 не кто иной, как Тим Патерсон, автор MSX-DOS
и первой версии MS-DOS. Такие вот дела...





Другие статьи номера:

Информбюро - О планах редакции журнала.

Авторы - Авторы журнала и контакты редакции.

Информбюро - Путеводитель по журналу.

Лоцман - О игре SubSunk.

Лоцман - Описание игры DARK SIDE.

Лодырь - Полное прохождение игры ЗЕРКАЛО.

Калейдоскоп - О игре Пыль звездных дорог.

Калейдоскоп - О втором виртуальном фестивале компьютерного искусства Art Comp-99.

Калейдоскоп - Презентация текстовой утилиты - Text Utility V2.8i.

Скелет - Описание звуковой карты DMA SOUND.

Скелет - Недокументированная особенность процессора Z80.

История - Жизнь после Вилли. Софтография Мэтью Смита.

История - О фидошном слэнге.

Лаборатория - интро POORGUY! - изнутри (исходный текст с комментариями).

Лаборатория - ZX-SPECTRUM и операционные системы.

Лаборатория - Процедуры от MicroSoft.

Лаборатория - Алгоритм вывода десятичных чисел на экран монитора из регистра DE & HL.

Лаборатория - Алгоритм деления и умножения больших чисел.

PROFI CLUB - Изучаем CP/M (совместимость, процессоры, терминалы).

Юмор - Лесенка - советы грамотному юзеру.

Юмор - Стих "OA программистов".

Пишите письма - Письма читателей в журнал.

Реклама - Реклама и объявления ...

ZXTraders - Действyющие распространители программного обеспечения ZX Spectrum по России и Украине


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
RestInPain - Sat^Smokers стал счастливым папашей.
К нашим читателям - "Время перемен"
От авторов - Virt group и газета ZX-News.

В этот день...   22 января