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

User Tag List

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 41 по 50 из 52

Тема: Деление/умножение

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

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    если делить 8б\8б и брать старшие 8б то получим неправильный результат
    Значит я нифига не понял. Почему старшие-то? Прога возвращает 16б. Целую и дробную часть. Но не хочет этого делать (правильно) для чисел больше 127.
    Для других всё ок (даже прогонял напару с PC весь диапазон делимого и делителя 0...127, у него делилка аппаратная. Всё норм).
    Понятно что та прога что в этюдах будет работать только с этим диапазоном (под него заточена), но вот приучить её к полному 0...255 не получается
    Последний раз редактировалось Destr; 28.02.2018 в 07:32.

  2. #42
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Анекдот по поводу:
    -Василь Иваныч, сколько будет ноль целых пять десятых плюс одна вторая?
    -Петька, вот нутром чувствую, что литра, а доказать не смогу!

  3. #43
    Master
    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    714
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    31 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    krt17, В том и беда что не выходит
    Да я соврал, получится 8/7=8.8
    В случае 8 бит делителя алгоритм другой походу будет нужен.
    Помница когда я тебе делал нормализацию вектора, так и спрашивал че экономить такты или память Хорошо что приоритет изменился. Можно делитель и делимое принудительно в 2 раза ролом уменьшать, для ситуации с метлой это будет не критично. Еще в этом случае делитель всегда больше делимого, можно обойтись 8 итерациями.

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

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Да я соврал, получится 8/7=8.8
    В случае 8 бит делителя алгоритм другой походу будет нужен
    Да, для случая делимое<делителя надо другой алгоритм похоже, но я уже чего только не пробовал - не выходит (чтоб быстро как и те что есть)
    Цитата Сообщение от krt17 Посмотреть сообщение
    Можно делитель и делимое принудительно в 2 раза ролом уменьшать
    Это делал, всё норм, но помимо метлы есть ещё и предметы которые из окна падают (чтоб прицельно по коту - там тоже делить надо так-же)
    Вообще и там можно сдвигать вправо (/2) и всё гут будет, но я хочу разобратся что за байда.
    Как-то в железе ведь деление это реализуется и без всяких ветвлений вроде.
    Повторюсь (вроде предполагал уже) что если заюзать флаг С как доп.разряд то всё станет норм, но пока не соображу как это сделать.

  5. #45
    Master Аватар для LW
    Регистрация
    05.09.2007
    Адрес
    Орск
    Сообщений
    949
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    1,002
    Поблагодарили
    318 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может кому пригодится.

    Деление: bh.l/cde=ch.l
    на входе: bh.l - делимое (в l дробная часть x/256)
    cde - делитель
    на выходе: ch.l - результат (в l дробная часть x/256)

    Код:
            push    hl 
            ld      a,b 
            exx
            pop     hl 
            ld      c,a 
            exx
            xor     a 
            ld      h,a 
            ld      l,a
    	DUP	#18
             exx
             add     hl,hl 
             rl      c 
             inc     hl 
             exx
             adc     hl,hl 
             adc     a,a 
             sbc     hl,de 
             sbc     a,c
             jr      nc,$+7
             add     hl,de 
             adc     a,c 
             exx 
             dec     hl 
             exx
    	EDUP
    	exx

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

    По умолчанию

    Уф, я тоже домучал.
    Делимое меньше делителя, без знаков (полный байт), #ad/#f0=#b8, 8 итераций
    Код:
    ; A=B/C
    	LD L,B:XOR A:LD H,A,B,A
    	DUP 8
    		ADD HL,HL
    		SBC HL,BC
    		JR NC,$+3
    		ADD HL,BC
    		RLA
    	EDUP
    	CPL
    (тут приведён кусок для B<C, ибо для общего случая уже в ветке много чего размусолили, думается что кому надо уже умеют)
    Последний раз редактировалось Destr; 02.03.2018 в 14:20.

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

  8. #47
    Master
    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    714
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    31 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашел у себя в элите ac/b0=c именно для b>a. Там применяется с выравниванием старшего бита, но тут тоже подходит, и чутка пошустрее.
    Код:
    		dup	8
    		sla	c
    		rla
    		jr	c, $+5
    		cp	b
    		jr	c, $+4
    		sub	b
    		inc	c
    		edup

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

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Нашел у себя в элите ac/b0=c именно для b>a. Там применяется с выравниванием старшего бита, но тут тоже подходит, и чутка пошустрее.
    Код:
    		dup	8
    		sla	c
    		rla
    		jr	c, $+5
    		cp	b
    		jr	c, $+4
    		sub	b
    		inc	c
    		edup
    Ну снова поле исследований!
    (а потом жалуются - "почему кота недописал"

    Как тут допишешь, если сам лапоть, попросишь форумчан помочь - начинают говорить что калькулятор не робит, скажешь что требухой вычисления - матпроц надо...
    Мне только остаётся перед художником и музыкантом извинится.
    Земной поклон вам, братцы!

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

    krt17, Что-ж так долго...

  10. #49
    Veteran Аватар для TomCaT
    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,792
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не буду толсто троллить, как ранее в теме , потому что обсуждение идет серьезное. Но не могу не оффтопнуть... Ведь год тема молчала. Потом подергалась и снова проспала 9 (девять) лет! Нет, поиск по форуму - это здорово. И уважение тем, кто на деле им пользуется.
    Последний раз редактировалось TomCaT; 24.04.2018 в 20:39. Причина: добавления
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  11. #50
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,746
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    265
    Поблагодарили
    199 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TomCaT Посмотреть сообщение
    Не буду толсто троллить, как ранее в теме , потому что обсуждение идет серьезное. Но не могу не оффтопнуть... Ведь год тема молчала. Потом подергалась и снова проспала 9 (девять) лет! Нет, поиск по форуму - это здорово. И уважение тем, кто на деле им пользуется.
    Процедуры описаны. большинство из них рабочие и правильные.
    по идее их бы в этюды какие перенести.
    С уважением,
    Jerri / Red Triangle.

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Быстрое умножение на 10000
    от litwr в разделе БК-0010/0011
    Ответов: 53
    Последнее: 11.12.2021, 03:54
  2. Ответов: 8
    Последнее: 19.10.2017, 15:08
  3. Процедуры на асме (умножение деления)
    от gres8 в разделе Программирование
    Ответов: 3
    Последнее: 25.01.2007, 10:26
  4. деление синхросигнала
    от Splinter в разделе Изображение
    Ответов: 3
    Последнее: 01.08.2005, 02:53

Ваши права

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