User Tag List

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

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

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

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

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

    По умолчанию

    Посмотрел C.COM (электронная таблица v1.5). Процедура заливки быстрая, но меня смутило отсутствие работы со стеком, она расчитана на заливку фигур с "загогулинами"? Электронная таблица для советских 8-биток выглядит хорошо, вроде для вектора (да и для многих других) с подобным интерфейсом нет.

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

  3. #2

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    расчитана на заливку фигур с "загогулинами"?
    Чтобы не быть голословным, залез в исходники. Похоже там действительно упрощённая версия, в электронной таблице только выпуклые фигуры, к тому же закрашивается только чёрная область. Закраска была бы быстрее, если бы не надо было постоянно переключать карту памяти для доступа к разным битовым планам.

    А вот в бейсике нормальная версия, но заливка одним цветом. Кстати, код заливки, который писал я, перенесли потом в ПЗУ биоса, потому что бейсик не влазил во внешнее ПЗУ на ученических машинах.

  4. #3

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

    По умолчанию

    Посмотрел бейсиковский вариант, там совсем другое кино, в т.ч. и по скорости. Пока быструю заливку в бейсиках на 8080 видел только в корветовском, возможно это был фетиш авторов, не зря же они наворачивали хард под это дело. А в других бейсиках скорее всего экономили место, пиксельные заливки компактные, с байтовыми ускорениями разбухает.
    Цитата Сообщение от b2m Посмотреть сообщение
    Закраска была бы быстрее, если бы не надо было постоянно переключать карту памяти для доступа к разным битовым планам.
    Смотря с чем сравнивать. mvi+out - 7+10=17 тактов, если без тормозов. Или 8+12=20 было бы на векторе. У вектора аналогичный по занятию регистров вариант перехода между плоскотями mvi+add+mov - 8+4+8=20 тактов. "Быстрый" dad не всегда получается использовать, т.к. выигрыш от него съест сохранение/восстановление регистров. Причем на башкирии есть еще опции типа inr/dcr+out. Для цветной заливки удобнее или нечто ega/корвето-подобное или все биты в одном байте, а вектор или башкирия не очень удобны.

  5. #4

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Для цветной заливки удобнее или нечто ega/корвето-подобное или все биты в одном байте
    Подтверждение первого варианта - корвет, а второго - львов, там тоже очень быстрая заливка

  6. #5

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

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Закраска была бы быстрее, если бы не надо было постоянно переключать карту памяти для доступа к разным битовым планам.
    В следующем посте я написал
    Цитата Сообщение от ivagor Посмотреть сообщение
    Смотря с чем сравнивать. mvi+out - 7+10=17 тактов, если без тормозов. Или 8+12=20 было бы на векторе. У вектора аналогичный по занятию регистров вариант перехода между плоскотями mvi+add+mov - 8+4+8=20 тактов. "Быстрый" dad не всегда получается использовать, т.к. выигрыш от него съест сохранение/восстановление регистров.
    Но я оставил за бортом частный случай, когда 2 плоскости (не 3 и не 4) доступны без переключения страниц, типа искры. Тут самым быстрым похоже будет вариант с выделением двух регистровых пар под адреса. Хотя выигрыш будет не на полную величину переключений, они уйдут, но вместо них добавится inr/dcr для второй регистровой пары. Для такого обращения с 3мя или 4мя плоскостми у ВМ80 регистров не хватит. Для 3х хватит у 580ВМ1, для 4х - у z80.
    Последний раз редактировалось ivagor; 07.01.2019 в 14:49.

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

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

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

Похожие темы

  1. Вычисление числа Пи на ассемблере
    от perestoronin в разделе Разное
    Ответов: 330
    Последнее: 06.08.2025, 15:04
  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

Ваши права

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