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

User Tag List

Страница 1 из 9 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 82

Тема: Вопрос по ассемблеру Z80

  1. #1
    Member
    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    165
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Вопрос по ассемблеру Z80

    В GENS есть такой оператор DEFB. Ну так вот, у меня в них многа-многа значений (коды кириллицы). А вот как мне их в программу вытащить, при условии что метка на поле называется KRUS? В принципе в ПЗУ есть процедура вывода строк, но это же совсем не то. В принципе, переход на другой ассемблер некритичен, если это облегчит задачу. Но хотелось бы знать, как это все считать. Ну а загрузить я уж и сам смогу. Спасибо

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

  3. #2
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что требуется-то, не совсем понятно. Напечатать текст? Нужен будет, как минимум, фонт с кириллицей, причем соответствующий кодировке набитого текста. Далее меняем адрес фонта в системной переменной и вызываем ПЗУ.
    Если же нужно сохранить этот текст в файл, чтобы затем где-то использовать - просто ассемблируем, а затем из Бейсика сохраняем кусок памяти с полученными данными. Начальный адрес и длину определяем по меркам, например.

  4. #3
    Member
    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    165
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ниеть. Нужно загрузить набор однобайтных чисел в память компьютера из DEFB, метка на массив - KRUS. Я так понял, метку надо загрузить в DE, в HL - начальный адрес загрузки и инкрементировать его по мере загрузки данных. Но не работает. На самом деле какого-то фиксированного кода нет - в процессе эксперимента. Я так спросил, может знает кто.

    Первые шаги в асме, многого не знаю еще... Сейчас код выглядит следующим образом:
    PUSH HL
    LD B,4
    LD DE, CODE
    LD HL, #FB00
    LOAD LD A, (DE)
    LD (HL), A
    INC HL
    DJNZ LOAD
    RET
    CODE DEFB #C6,#6C,#38,#38

    Основной код загрузки у меня выглядит так. Проблема в том, что не происходит перебора значений блока CODE - во все четыре ячейки памяти грузится одно число - #C6
    Последний раз редактировалось Zidane; 05.01.2022 в 23:38.

  5. #4
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,774
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ld de,addr
    ld hl,krus
    ld bc,lenght
    ldir

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

    Reobne (05.01.2022), Zidane (05.01.2022)

  7. #5
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Zidane Посмотреть сообщение
    не происходит перебора значений блока CODE
    Из за того, что забыл написаль INC DE в цикле.

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

    Zidane (05.01.2022)

  9. #6
    Member
    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    165
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Из за того, что забыл написаль INC DE в цикле.
    Я не забыл. просто такой маневр привел GENS к краху. Странный редактор. Просто привычный. А может я сам где ошибся. Но в любом случае у меня эта попытка провалилась. На всякий случай счас еще раз попробую. Вполне мог забыть HL из стека вытащить, если это на что-нибудь влияло. В любом случае спасибо.

    Вариант от GoodBoy сработал. Спасибо всем огромное. Буду использовать его, потому что короче выходит.
    Последний раз редактировалось Zidane; 06.01.2022 в 00:03.

  10. #7
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,486
    Спасибо Благодарностей отдано 
    221
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    115 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня другой вопрос - почему именно Gens?
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  11. #8
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,774
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Zidane Посмотреть сообщение
    LD HL, #FB00
    LOAD LD A, (DE)
    LD (HL), A
    держи в уме по каким адресам находится сам Gens (вдруг ты его код своей программой затираешь)

  12. #9
    Member
    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    165
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    У меня другой вопрос - почему именно Gens?
    Потому что когда я активно интересовался ассемблером, а именно 2006 год, то тогда только эта литература (а следовательно и хоть какая-то справка на редактор) и были мне доступны. Правда тогда, в силу изучения Python, ассемблер вскоре был отложен до лучших времен. Но к GENS за пару месяцев успел кое-как приспособиться.

    Цитата Сообщение от goodboy Посмотреть сообщение
    держи в уме по каким адресам находится сам Gens (вдруг ты его код своей программой затираешь)
    Ну загружаю я его ровно так как описано в одной известной книге, с адреса 25000. Даже если сам он, в варианте 51 символ в строке занимает 11 кб, то, как я прикинул, выше #8Е28 проблем бы ть не должно.

  13. #10
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё же Генс не лучший выбор для реала (ну или эмуля). Небольшие программки можно и в нём, но желательно побыстрее перелезть на что-то посерьезней. Тасм, Аласм, много чего...
    А приведённая в начале прога вообще не должна работать, т.к. стоит Push HL и затем после "цикла" делается Ret. В случае же с крахом Генса стоит ещё стек проверить. Мало просто загружать его по такому-то адресу, еще и Clear должен соответствовать.

Страница 1 из 9 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Книга по ассемблеру Z80
    от Shwartz в разделе Пресса
    Ответов: 11
    Последнее: 06.07.2018, 14:29
  2. Книги по бейсику и Ассемблеру Z80
    от stepmotor в разделе Программирование
    Ответов: 3
    Последнее: 30.01.2018, 19:53
  3. вопрос по z80 stealh
    от scl^mc в разделе Эмуляторы
    Ответов: 11
    Последнее: 17.08.2007, 15:32
  4. ламерский вопрос о временных диаграммах шин Z80
    от boo_boo в разделе Несортированное железо
    Ответов: 3
    Последнее: 30.01.2006, 13:14

Ваши права

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