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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: asm: x mod 3 ?

  1. #1
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,591
    Благодарностей: 903
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию asm: x mod 3 ?

    собственно сабж
    x mod 2 можем сделать сдвигом || and 1
    a мод 3?
    "наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
    "Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
    (c) zst

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

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

    По умолчанию

    Код:
    ;in A - number
    ;out A - number mod 3
      ld c,#c0
    loop:
      sub c
      jz exit
      jnc,nxt
      add a,c
    nxt:
      rr c
      jnc,loop
    exit:
    но надо проверить- могу и наглючить

  4. Эти 2 пользователя(ей) поблагодарили Vitamin за это полезное сообщение:
    GriV (10.08.2013), Hacker VBI (07.08.2013)

  5. #3
    Activist
    Регистрация
    19.04.2005
    Адрес
    SPb
    Сообщений
    312
    Благодарностей: 51
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    хм, я приблизительно умножал на 85, делил на 256 (выкидывал младший байт)
    точность 1/256, вполне катит.
    Куплю в СПб 5.25" Robotron или Teac

  6. Эти 5 пользователя(ей) поблагодарили research за это полезное сообщение:
    GM BIT (13.08.2013), GriV (10.08.2013), Hacker VBI (07.08.2013), Protom (11.08.2013), Reobne (08.05.2014)

  7. #4
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,591
    Благодарностей: 903
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в общих чертах ясно.
    спасибо, ребята!
    "наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
    "Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
    (c) zst

  8. #5
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,562
    Благодарностей: 690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от research Посмотреть сообщение
    хм, я приблизительно умножал на 85, делил на 256 (выкидывал младший байт)
    точность 1/256, вполне катит.
    я тоже так делаю. Самый быстрый способ. Для разных делителей только разное число, которое потом делится на 256.

  9. #6
    Activist
    Регистрация
    19.04.2005
    Адрес
    SPb
    Сообщений
    312
    Благодарностей: 51
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну да, дробные числа получаются по основанию 256. Деление на 256 - выкинуть младший байт, а умножение на константу - копеечное дело.

    Жаль, в вузах нас этому не учили. Тот же Брезенхейм казался прям эдакой загадкой. Потом, когда я занялся цифровым синтезом, сам понял, что вот они, дроби (по сути).
    Куплю в СПб 5.25" Robotron или Teac

  10. #7
    Veteran Аватар для GriV
    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Благодарностей: 104
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    но надо проверить- могу и наглючить
    Очень красиво. Так ведь можно и на другие делители MOD делать, главное чтобы младший бит остатка был равен единице (нечётное число).
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

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

    По умолчанию

    Цитата Сообщение от GriV Посмотреть сообщение
    Очень красиво. Так ведь можно и на другие делители MOD делать, главное чтобы младший бит остатка был равен единице (нечётное число).
    Никаких условий не надо- это обычный алгоритм деления, только на фиксированное число и с игнорированием частного. Делитель должен быть выровнен по левому краю.

  12. #9
    Доктор Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,103
    Благодарностей: 867
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А есть быстрый алгоритм деления числа (байта) на 3? Желательно без таблиц.
    нефть.

  13. #10
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Благодарностей: 1071
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Умножить на 85 (%1010101) и сдвинуть на 8 бит.
    ;l=число
    ld h,0
    ld d,h,e,l
    add hl,hl ;*2
    add hl,hl ;*4
    add hl,de ;*5
    add hl,hl ;*10
    add hl,hl ;*20
    add hl,de ;*21
    add hl,hl ;*42
    add hl,hl ;*84
    add hl,de ;*85
    ;h=результат

  14. Этот пользователь поблагодарил alone за это полезное сообщение:
    Reobne (08.05.2014)

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

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

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

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

Ваши права

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