User Tag List

Показано с 1 по 10 из 30

Тема: 32 бит деление

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #14

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Надо определиться, все же оптимизация по размеру или по скорости.
    Блин, при 27 байтах на процедуру, какой смысл в оптимизации по размеру, если не разворачивать цикл?

    Цитата Сообщение от ivagor Посмотреть сообщение
    И если по скорости, то можно ли разворачивать цикл
    Мой вариант удобнее разворачивать

    - - - Добавлено - - -

    А если ограничить делитель и частное 15-ю битами, то ветку DIV322 можно выкинуть, и тогда уже развернуть. Вряд-ли найдутся более быстрые процедуры.

    - - - Добавлено - - -

    А потом ещё сэкономить заменив jr DIV324 на dec de

    - - - Добавлено - - -

    Код:
    DIV32: ; DE = HLDE/BC, HL = HLDE%BC, HLDE<2^31, BC<2^15
    	rept 16
    		sla e
    		rl d
    		adc hl,hl
    		sbc hl,bc
    		jr nc, $+4
    		add hl,bc
    		dec e
    		inc e
    	endm
    	ret
    - - - Добавлено - - -

    1162 тактов максимум

    - - - Добавлено - - -

    209 байт

    - - - Добавлено - - -

    Цитата Сообщение от b2m Посмотреть сообщение
    А если ограничить делитель и частное 15-ю битами, то ветку DIV322 можно выкинуть
    Хотя, не очевидно это, хорошо бы доказать...

    - - - Добавлено - - -

    Ооо... как можно было забыть, что inc e на 2 такта быстрее inc de!!!
    Последний раз редактировалось b2m; 18.02.2021 в 21:55.

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

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

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

Похожие темы

  1. Ответов: 0
    Последнее: 21.01.2021, 17:46
  2. Вопрос про EIS-деление
    от litwr в разделе ДВК, УКНЦ
    Ответов: 1
    Последнее: 16.12.2019, 20:28
  3. умножение/деление в алгоритмах ZX игр
    от bigral в разделе Программирование
    Ответов: 27
    Последнее: 18.10.2019, 13:20
  4. Деление/умножение
    от Serdjuk в разделе Программирование
    Ответов: 51
    Последнее: 25.04.2018, 15:54
  5. деление синхросигнала
    от Splinter в разделе Изображение
    Ответов: 3
    Последнее: 01.08.2005, 02:53

Ваши права

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