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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 30

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

  1. #1
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию 32 бит деление

    Приветствую. Может кто-нибудь поделиться процедурой 32х битного деления? 32 бита делить на 16 бит, результат 16 бит и плюс остаток. чем быстрее процедура, тем лучше. пока нашёл 3 процедуры где то в старых загашниках, ни одна не работает. Точнее работают, но на каких то либо ровных значениях либо на малых. Когда на вход подаю делимое больше 16 бит, начинаются проблемы.
    Спасибо!
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

  3. #2
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,849
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    168 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Этот вариант подойдёт? (прошу прощения за мой i8080)

  4. Этот пользователь поблагодарил b2m за это полезное сообщение:

    Denn (18.02.2021)

  5. #3
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    b2m, было бы хорошо под z80.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  6. #4
    Master Аватар для LW
    Регистрация
    05.09.2007
    Адрес
    Орск
    Сообщений
    954
    Спасибо Благодарностей отдано 
    228
    Спасибо Благодарностей получено 
    1,012
    Поблагодарили
    322 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    тут выкладывали, может подойдёт

  7. #5
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,849
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    168 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну блин.
    Код:
    DIV32:	ld a,b ; DE = HLDE/BC, HL = HLDE%BC
    	cpl
    	ld b,a
    	ld a,c
    	cpl
    	ld c,a
    	inc bc
    	xor a
    DIV321:	add hl,hl
    	rra
    	ex de,hl
    	add hl,hl
    	ex de,hl
    	jr nc, DIV320
    	inc hl
    DIV320:	push hl
    	add hl,bc
    	jr nc, DIV322
    	rla
    DIV323:	inc de
    	inc sp
    	inc sp
    	add a, 10h
    	jr nc, DIV321
    	ret
    DIV322:	rla
    	jr c, DIV323
    	pop hl
    	add a, 10h
    	jr nc, DIV321
    	ret
    Последний раз редактировалось b2m; 18.02.2021 в 11:50.

  8. Этот пользователь поблагодарил b2m за это полезное сообщение:

    Sayman (18.02.2021)

  9. #6
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Ну блин.
    Код:
    DIV32:	ld a,b ; DE = HLDE/BC, HL = HLDE%BC
    	cpl
    	ld b,a
    	ld a,c
    	cpl
    	ld c,a
    	inc bc
    	xor a
    DIV321:	add hl,hl
    	rra
    	ex de,hl
    	add hl,hl
    	ex de,hl
    	jr nc, DIV320
    	inc hl
    DIV320:	push hl
    	add hl,bc
    	jr nc, DIV322
    	rla
    DIV323:	inc de
    	inc sp
    	inc sp
    	add a, 10h
    	jr nc, DIV321
    	ret
    DIV322:	rla
    	jr c, DIV323
    	pop hl
    	add a, 10h
    	jr nc, DIV321
    	ret
    О! Крутяк! Спасибо! Чьё авторство?
    Последний раз редактировалось Sayman; 18.02.2021 в 12:04.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  10. #7
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,849
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    168 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вообще-то можно с использованием Z80 инструкций подсократить, например при 32-битном сдвиге использовать adc hl,hl, а вместо инверсии делителя использовать sbc hl,bc

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

    Цитата Сообщение от Sayman Посмотреть сообщение
    Чьё авторство?
    Из книги Гуртовцева,Гудыменко

  11. #8
    Master
    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    829
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    131
    Поблагодарили
    109 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Зачётная книжка. "Как выполнить умножение 2*2 разными 33-я способами"

  12. #9
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    88 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    Зачётная книжка. "Как выполнить умножение 2*2 разными 33-я способами"
    Чёта не гуглится...

  13. #10
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,849
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    168 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Чёта не гуглится...
    Гуртовцев А. Л., Гудыменко С. В.. Программы для микропроцессоров: Справ, пособие. стр.90-91 (лучше скачать djvu, на сайте картинки со смещением в тексте)

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

    Цитата Сообщение от Sayman Посмотреть сообщение
    О! Крутяк! Спасибо! Чьё авторство?
    Я доработал процедуру, теперь точно "крутяк". И авторство моё
    Код:
    DIV32:   ld a,10h ; DE = HLDE/BC, HL = HLDE%BC
    DIV321:   ex de,hl
       add hl,hl
       ex de,hl
       adс hl,hl
       jr c DIV322
       push hl
       sbс hl,bc
       jr nc, DIV323
       pop hl
       jr DIV325
    DIV322:   ccf
       sbс hl,bc
       jr DIV324
    DIV323:   inc sp
       inc sp
    DIV324:   inc de
    DIV325:   dec a
       jr nz, DIV321
       ret
    Последний раз редактировалось b2m; 18.02.2021 в 18:16.

  14. Эти 3 пользователя(ей) поблагодарили b2m за это полезное сообщение:

    Destr (18.02.2021), IgorR76 (18.02.2021), mastermind (21.02.2021)

Страница 1 из 3 123 ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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