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

User Tag List

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

Тема: Хранение большого объема данных в ассемблере.

  1. #1
    Junior
    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    18
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Хранение большого объема данных в ассемблере.

    В общем, от нефиг делать пишу демку небольшую... Оцифрока изображения и подгонка идет нормально, но... Делается это все в бейсике. Что не есть гут, потому как медленно да и неудобно. Для того, чтобы посмотреть подгонку элемента нужно ждать несколько секунд, пока бейсик пройдется по DATA... Ну вы сами, наверное знаете. В общем, для ускорения вывода изображения, попутно с оцифровкой решил перенести все на ассемблер. Но вот как хранить те данные (которые в бейсике в DATA хранятся) в ассемблере я не представляю... По крайней мере четко.
    С одной стороны есть DEFB. Но как её использовать для этой цели - не представляю. Второй вариант (правда кажется уж очень геморрным) - перекидывать данные через аккумулятор в память, а затем перекидать их оттуда в экранную область ОЗУ. Но, цифорок будет много. В аккурат на весь экран демка. Быть может можно как-то организовать массив или что-то подобное? Что-бы не пихать вручную каждое значение в свою ячейку памяти. Время не горит, демку только начал делать, но, хотелось бы знать, что да как.
    То что уже есть - в файлике. Количество и размер DATA, а также скорость выполнения уже наводит тоску. Заранее спасибо.
    Вложения Вложения
    • Тип файла: zip snap.zip (2.9 Кб, Просмотров: 81)

  2. Этот пользователь поблагодарил Zidane за это полезное сообщение:
    krt17 (27.10.2012)

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

  4. #2
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    3,363
    Благодарностей: 706
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    это шутка?
    С уважением,
    Jerri / Red Triangle.
    [02.05.2014] не забудь этот день. Чубайс должен умереть. Dixi.
    [l'Abbey des morts TSEvo EV...5%] kiwi кошелек +79178162712

  5. #3
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,213
    Благодарностей: 869
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, мир перевернулся. Ну на всякий случай... Мало ли, вдруг не шутка?

    Во=первых есть графические редакторы (Art Studio, Burial Gfx Editor). Во-вторых, есть INSERT (он же INCBIN) "имя_файла" - добавляет файл по нужному адресу. И в-третьих, есть LDIR чтобы из памяти перенести на экран типа:

    ld hl,#c000
    ld de,#4000
    ld bc,#1b00
    ldir
    Рекомендую какую-нить книжку почитать по ассемблеру, например эту - http://vtrdos.ru/book/WGASM.ZIP
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Мордовия - Республика звука

  6. #4
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Благодарностей: 230
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тебе просто рисунок надо вывести?

  7. #5
    Junior
    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    18
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Та-а-а-ак... Ребята, ну я понимаю, что кажусь шнурком/нубом/дилетантом (нужное подчеркнуть. Ну, первое, это не шутка. Второе - ваяется в 128 спектруме. Ассемблер планируется использовать GENS.
    Вопрос в следующем. Как удобнее (или проще) создать Хм... набор однобайтных значений в озу. Т.е. через метку и оператор DEFB выводится ряд однобайтных значений символов на экран. Я бы хотел организовать загрузку однобайтных значений в память. Ведь общая картинка будет состоять из более чем 6000 байтов, а прописывать для каждого значения

    LD A,NN
    LD HL,#NNNN
    LD (HL),A

    будет несколько утомительно....
    Я так понял, что толком не смог объяснить, что мне нужно... Ну ладно, мой косяк. Что касается книг по ассемблеру, читаю, не сомневайтесь. Но пока не нашел искомого, иначе бы не задал свой вопрос здесь.
    P.S. Используется Унреал со 128 бейсиком. Когда пишу на ассемблере туда же загружается GENS3. К живому скорпиону доступа пока нет.

  8. #6
    Veteran Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    1,187
    Благодарностей: 641
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Написали же уже про LDIR - это этакий LD в цикле
    Код:
    	LD HL, NNNN ; откуда
    	LD DE, #4000 ; куда
    	LD BC, 6912 ; сколько
    	LDIR ; копируем
    
    NNNN:
    	DEFB #00
    	DEFB #00
    	DEFB #F5
    	...всего 6912 байт


    ---------- Post added at 12:16 ---------- Previous post was at 12:14 ----------

    Цитата Сообщение от Zidane Посмотреть сообщение
    Используется Унреал со 128 бейсиком. Когда пишу на ассемблере туда же загружается GENS3.
    если нет погони за аутентичностью, то лучше использовать какой-нибудь кроссассемблер, например, sjasmplus
    Граф Дракула наш кумир, патамушта он вомпир!

  9. Этот пользователь поблагодарил Eltaron за это полезное сообщение:
    Zidane (27.10.2012)

  10. #7
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    2,679
    Благодарностей: 2035
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Zidane Посмотреть сообщение
    Как удобнее (или проще) создать Хм... набор однобайтных значений в озу
    Если изображение доложно быть динамичным, с повторяющимся "узором" можно использовать что-то вроде "шаблона-матрицы", которая будет строить изображение в памяти, а потом перебрасыватть его в "экран" (как это обычно и делают).
    ----
    Опять же: если изображение предполагается статичным, логичнее сделать, как было предложено выше (нарисовать в графическом редакторе, а потом распаковать\перебросить LDIR'ом).
    Когда есть, но не знаеш где - это все равно, что нету.

  11. Этот пользователь поблагодарил null_device за это полезное сообщение:
    Zidane (27.10.2012)

  12. #8
    Junior
    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    18
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо, будем стараться )

  13. #9
    Guru
    Регистрация
    15.01.2005
    Адрес
    USSR
    Сообщений
    2,038
    Благодарностей: 331
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если очень нравится GENS, рискну порекомендовать GENS128 с RAM-диском:
    http://wlodeks.narod.ru/zxnet/soft/soft.htm
    Если очень нравится DEFB, рискну порекомендовать file2db для преобразования произвольного файла в строчки DB (заменить на DEFB можно потом в текстовом редакторе).
    Последний раз редактировалось Wlodek; 17.10.2013 в 19:06.

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

  15. #10
    Junior
    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    18
    Благодарностей: 1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ола-ла, пошло ))) Отдельное спасибо Eltaron за наставление на путь истинный. С меня пиво ))) Или пара печенюшек )

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

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

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

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

Похожие темы

  1. Ответов: 6
    Последнее: 07.02.2016, 11:55
  2. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 20:17
  3. Хранение софта для БК
    от dk_spb в разделе БК-0010/0011
    Ответов: 14
    Последнее: 16.11.2010, 13:09
  4. Ответов: 17
    Последнее: 05.08.2009, 21:37
  5. Ответов: 12
    Последнее: 02.03.2005, 16:16

Ваши права

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