User Tag List

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

Тема: Программирование на ассемблере

Комбинированный просмотр

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

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,426
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,375
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Портанул SINCOS CORDIC (автор Andre Adrian) на 8080 (мнемоники остались z80).
    Хотел ускорить "фонтан", но встроенная в бейсик реализация через ряды в модерновых версиях оказалась быстрее (в 2.5 медленнее). При замене части тригонометрии на LUT средствами бейсика фонтан ускоряется на четверть.
    Тем не менее целочисленные SINCOS для 8080 могут кому-нибудь пригодиться. Отличие от оригинала z80 - т.к. регистров у 8080 меньше, то на выходе результат остается в памяти, не в регистрах.
    Проблема в отсутствии у 8080 команд арифметического сдвига вправо. Если ограничить точность 2 или 3 байтами, то можно сделать весьма эффективную реализацию для 8085, там есть заветная команда ARHL.
    Вложения Вложения
    Последний раз редактировалось ivagor; 05.04.2025 в 07:49. Причина: добавил tasm.inc

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

    Improver(04.04.2025), metamorpho(04.04.2025), Oleg N. Cher(07.04.2025), svofski(04.04.2025)

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

  3. #2

    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    474
    Спасибо Благодарностей отдано 
    807
    Спасибо Благодарностей получено 
    278
    Поблагодарили
    106 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Портанул SINCOS CORDIC (автор Andre Adrian) на 8080 (мнемоники остались z80).....
    А ROM есть ? Или в чём его компилировать ?

  4. #3

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,426
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,375
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    А ROM есть ? Или в чём его компилировать ?
    Это не законченная программа, только функция и пример вызова, без визуализации, поэтому в ROM смысла нет. Касательно компиляции - я забыл приложить tasm.inc, исправился

    Что касается грубых, но простых и быстрых аппроксимаций, можно глянуть например тут (оценка точности первого варианта здесь). В комментариях есть более точный (и сложный) вариант cos(pi x) = 4x^3-6x^2+1, x от 0 до 1.
    Компактные и быстрые генераторы таблиц для z80.
    Последний раз редактировалось ivagor; 05.04.2025 в 08:01.

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

    metamorpho(05.04.2025)

  5. #4

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Хотел ускорить "фонтан", но встроенная в бейсик реализация через ряды в модерновых версиях оказалась быстрее (в 2.5 медленнее). При замене части тригонометрии на LUT средствами бейсика фонтан ускоряется на четверть.
    а что вы хотите получить? Генерацию синусоиды заданной частоты можно реализовать без таблиц - на одном умножении и трех сложениях на каждый сэмпл.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #5

    Регистрация
    09.09.2024
    Адрес
    г. Рига, Латвия
    Сообщений
    51
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    а что вы хотите получить? Генерацию синусоиды заданной частоты можно реализовать без таблиц - на одном умножении и трех сложениях на каждый сэмпл.
    3 сложения то - на кой??? Всегда делал на одном умножении + одном сложении. Правда - на ARM.

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

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

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

Похожие темы

  1. Вычисление числа Пи на ассемблере
    от perestoronin в разделе Разное
    Ответов: 331
    Последнее: 01.02.2026, 13:32
  2. Ответов: 275
    Последнее: 16.12.2018, 23:01
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35
  5. Подпрограмма на ассемблере в памяти?
    от jimled в разделе Программирование
    Ответов: 1
    Последнее: 29.11.2009, 06:46

Ваши права

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