User Tag List

Страница 17 из 31 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя
Показано с 161 по 170 из 305

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

  1. #161

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

    По умолчанию

    Если все же достаточно 8*8=16, то компактнее и быстрее (и без порчи A) так:

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

    Код:
    ;HL=H*E
    mul88:
    		mvi l,0
    		mov d,l
    		mvi b,8
    mul88_1:
    		dad h
    		jnc mul88_2
    		dad d
    mul88_2:
    		dcr b
    		jnz mul88_1
    		ret
    [свернуть]

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

    nzeemin(04.09.2022), svofski(03.09.2022)

  2. #162

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,305
    Спасибо Благодарностей отдано 
    1,032
    Спасибо Благодарностей получено 
    817
    Поблагодарили
    488 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, у меня 8х8. Отличный мул у тебя.
    Больше игр нет

  3. #163

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите пожалуйста как включать квазидисковый режим Баркаря? Или он включается всегда если такой квазидиск используется?

  4. #164

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    компактнее и быстрее
    Еще чуть компактнее и быстрее (портим A вместо B)

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

    Код:
    ;HL=H*E
    mul88:
    		xra a
    		mov l,a
    		mov d,a
    		cma
    mul88_1:
    		dad h
    		jnc mul88_2
    		dad d
    mul88_2:
    		add a
    		jm mul88_1
    		ret
    [свернуть]

    Похоже на самое компактное умножение 8*8=16 для 8080. Или нет?

    Про Баркаря можно почитать в журнале Радиолюбитель 95/11

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

    Upd: И еще на 4 такта быстрее.
    Последний раз редактировалось ivagor; 04.09.2022 в 15:01.

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

    metamorpho(04.09.2022), parallelno(04.09.2022), svofski(04.09.2022), tnt23(07.09.2022)

  5. #165

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил раздел про работу с квазидиском.

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

    Добавил раздел про тайминги команд.

  6. #166

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    403
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Не могу найти подручного беззнакового умножения 8x8 -> 16. Ни у кого не завалялось?
    Была у меня книжка: Злобин В. К., Григорьев В. Л. Программирование арифметических операций в микропроцессорах. М.:1991
    В Сети скан находится без проблем. Сейчас посмотрел - есть несколько алгоритмов и для умножения 8x8->16 на ВМ80. Не было сейчас времени вникнуть, насколько они хороши, но может на будущее пригодится...

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

    svofski(05.09.2022)

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

  8. #167

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

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    есть несколько алгоритмов и для умножения 8x8->16 на ВМ80
    Программа 2.5 самая компактная, но, понятно, и очень медленная при больших значениях A. Программа 2.6 опять хорошо подходит для не самых больших значений A, когда много старших бит=0. И там есть Программа 2.7 (которая в Vector-user 1) с полным правильным описанием.

  9. #168

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,305
    Спасибо Благодарностей отдано 
    1,032
    Спасибо Благодарностей получено 
    817
    Поблагодарили
    488 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Иногда надо маленький диапазон псевдослучайности -- 11-битный LFSR:

    Код:
    ; выход:
    ; HL - число от 1 до 2047
    rnd11:
    		lxi h,1
    		mov a, h
    		rrc \ rrc
    		xra h
    		ani 1           ; bit 10 xor bit 8
    		dad h
    		ora l
    		mov l, a        ; lsb = bits 10 xor 8
    		mvi a, 7
    		ana h
    		mov h, a
    		shld rnd11+1
    		ret
    Сделал ему Мандрил-тест.
    Последний раз редактировалось svofski; 06.09.2022 в 16:59. Причина: обновил rnd11 на Галуа
    Больше игр нет

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

    tnt23(07.09.2022)

  10. #169

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

    По умолчанию

    Конфигурация Галуа все же эффективнее Фибоначчи при программной реализации, даже в таком не очень удобном случае

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

    Код:
    rnd11:
    		lxi h,1
    		dad h
    		mvi a,1000b
    		ana h
    		jz rnd11exit
    		xra h
    		mov h,a
    		mvi a,5
    		xra l
    		mov l,a
    rnd11exit:
    		shld rnd16_1+1
    		ret
    [свернуть]

    Не помню, почему взял тот полином в rnd16, возможно чтобы картинка проявлялась помедленнее. Но скорее всего просто прошляпил. Если заменить mvi a,00000001b на mvi a,2Dh, то дальше можно убрать 3 команды относящиеся к h.

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

    svofski(06.09.2022)

  11. #170

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,472
    Поблагодарили
    524 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Добавил раздел про работу с квазидиском.

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

    Добавил раздел про тайминги команд.
    Ссылки которые содержат номер страницы - не работают, если у вас в настройках форума другой размер страницы.
    Речь про ссылки вида
    Самая быстрая установка палитры по версии Improver
    https://zx-pk.ru/threads/29144-progr...ml#post1136855

Страница 17 из 31 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на ассемблере
    от shuran33 в разделе Вектор
    Ответов: 341
    Последнее: 05.11.2025, 20:00
  2. Программирование на ассемблере
    от tnt23 в разделе Океан-240
    Ответов: 6
    Последнее: 30.10.2025, 12:56
  3. Программирование графики MSX
    от CityAceE в разделе MSX
    Ответов: 57
    Последнее: 23.10.2025, 08:53
  4. Программирование NES
    от Tronix в разделе Nintendo
    Ответов: 6
    Последнее: 08.07.2015, 21:21
  5. Программирование на пентеве.
    от Kakos_nonos в разделе Программирование
    Ответов: 2
    Последнее: 23.03.2013, 14:08

Ваши права

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