Важная информация

User Tag List

Показано с 1 по 7 из 7

Тема: Fast 48x48 MUL | DIV

  1. #1
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,270
    Благодарностей: 190
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Fast 48x48 MUL | DIV

    Yo yo yo!

    Никто не занимался такой фигнёй?
    Я написал, но как-то выглядит неоптимально ^_^

    Если кто-нибудь спец в умножениях и делениях, то киньте в меня куском кода плиз. (на добрый толк надо 64x64, но тогда в регистры сразу два числа фиг запихнёшь ^_^ но если для вас это не проблема, то можно и 64x64 ^_^)
    [target] [zemu] [js8x] [pouet 1, 2]
    KAY-1024, 5''FDD, 3''FDD, HDD

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Member Аватар для Dr.Lion/RSM
    Регистрация
    08.04.2005
    Адрес
    Kharkov mega city
    Сообщений
    188
    Благодарностей: 4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus
    Я написал, но как-то выглядит неоптимально ^_^
    Может покажешь свой код и немножко опишешь, как он работает? А то мне остро нужны быстрые процедуры умножения/деления правда 32х32!
    Автор эмуляторов Nescube, PocketZX.

  4. #3
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,270
    Благодарностей: 190
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чуток позже закину, ибо пишу на кае, а инет естессно на пэцэ
    На самом деле всё точно так же как и в умножении | делении 8x8, только почему то мне кажется что существуют более оптимальные методы.
    [target] [zemu] [js8x] [pouet 1, 2]
    KAY-1024, 5''FDD, 3''FDD, HDD

  5. #4

    По умолчанию

    Обычное побитовое умножение-деление?

  6. #5
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,031
    Благодарностей: 1426
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    поковырялся в своих исходах арифметического сжатия. вытащил вот что

    Код:
    BIGMULT                 ;DEHL=DE*BC
            LD HL,0
            DUP 16
            ADD HL,HL
            RL E
            RL D
            JR NC,$+6
            ADD HL,BC
            JR NC,$+3
            INC DE
            EDUP 
            RET 
    
    BIGDIV
            LD HL,0         ;BC'BC=BC'BC/DE
            SLA C
            RL B
            EXX 
            LD HL,0
            RL C
            RL B
            EXX 
    
            DUP 32
            ADC HL,HL
            EXX 
            ADC HL,HL
            EXX 
            SBC HL,DE
            JR NC,$+14      ;ZZ
            EXX 
            LD A,H
            OR L
            EXX 
            JR Z,$+7        ;ZZ1
            EXX 
            DEC HL
            EXX 
            JR $+3          ;ZZ
            ADD HL,DE       ;ZZ1
            RL C            ;ZZ
            RL B
            EXX 
            RL C
            RL B
            EXX 
            EDUP 
    
            LD A,C
            CPL 
            LD C,A
            LD A,B
            CPL 
            LD B,A
            RET
    мож кому пригодится

  7. #6
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,270
    Благодарностей: 190
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiru
    Обычное побитовое умножение-деление?
    Ага.
    [target] [zemu] [js8x] [pouet 1, 2]
    KAY-1024, 5''FDD, 3''FDD, HDD

  8. #7
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Благодарностей: 2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dr.Lion/RSM
    Может покажешь свой код и немножко опишешь, как он работает? А то мне остро нужны быстрые процедуры умножения/деления правда 32х32!
    http://groups-beta.google.com/group/...e=source&hl=en

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •