User Tag List

Страница 122 из 167 ПерваяПервая ... 118119120121122123124125126 ... ПоследняяПоследняя
Показано с 1,211 по 1,220 из 1664

Тема: SjASMPlus Z80 кросс ассемблер

  1. #1211

    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А xsl'ки нету?

  2. #1212

    Регистрация
    31.10.2006
    Адрес
    г. Воронеж
    Сообщений
    75
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Переписываю сейчас кусочек кода с ZEUS на SjASMPlus, не могу разобраться в синтаксисе.
    Как оформить в SjASM зевсовскую конструкцию: CP "A!W или DB "A!W, A!X
    ???
    То есть нутром понимаю что там логический OR но на SjASM переложить не могу.

  3. #1213

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А что это хоть делает-то. Логический OR на sjasm - ||

    Вероятно че-то типа "A"||"W", если я правильно понимаю (потому что хз что это такое - байты или что).

    Но в DB ты так не воткнешь, надо че-то типа EQU.
    Последний раз редактировалось Shadow Maker; 22.09.2015 в 09:25.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

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

    Virtual TR-DOS

  4. #1214

    Регистрация
    31.10.2006
    Адрес
    г. Воронеж
    Сообщений
    75
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    А что это хоть делает-то.
    Да простое сравнение из разряда
    Код:
         LD A,(HL)
         CP "A!W
         JR Z,DUMMYLABEL
    В ZEUS сравнение с "А" пишется как "А, без второй кавычки.

    Логический OR на sjasm - ||
    Спасибо, я невнимательный читатель манов )

    Но в DB ты так не воткнешь, надо че-то типа EQU.
    EQU там не сгодится, так как табличка данных описывается.

    Думаю надо ассемлировать в ZEUS эти строки и посмотреть что он там в действительности делает ))) Подозрение, что что то сам додумывает для удобства.

  5. #1215

    Регистрация
    31.10.2006
    Адрес
    г. Воронеж
    Сообщений
    75
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    УФФ ) разобрался )
    дело было так:
    Код:
    W   EQU %1000 0000
    X   EQU %1010 0000
    ; поэтому конструкция 
          CP "A!W
    ;работает ))
    просто плохо и не внимательно прочитал чужой код

  6. #1216

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть вопрос, как удобней всего оформлять список объектов, когда затем в разных местах программы используются порядковые номера этих объектов (т.е. индексы)?
    Т.е. имеем что-то вроде:


    Сами объекты:
    Код:
    objects:
    	DB 'aaaa'
    	DB 'b'
    	DB 'aasdasd
    	DB 'ad'
    objects_end:
    	...
    Табличка индексов:
    Код:
    object_1	EQU 1
    object_2	EQU 2
    object_3	EQU 3
    object_4	EQU 4
    И потом использование:
    Код:
    	...
    	ld a, obect_2
    	...
    	cp object_4
    	...

    Можно ли как-то обойтись без таблицы, т.е. что-то типа:

    Код:
    objects:
    object_1:
    	DB 'aaaa'
    object_2:
    	DB 'b'
    object_3:
    	DB 'aasdasd
    object_4:
    	DB 'ad'
    objects_end:
    Может быть, sjasm умеет автоматически индекс строки давать?

    Для объектов одинакового размера использую
    (objects_end - objects) / object_len + 1

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

  8. #1217

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    objects:
    	DB 'aaaa'
    	DB 'b'
    	DB 'aasdasd
    	DB 'ad'
    objects_end:
    асм видит эту конструкцию как

    Код:
    objects:
    	DB 'aaaabaasdasdad'
    objects_end:

  9. #1218

    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,087
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    230
    Поблагодарили
    98 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Во, кстати. Насчёт индексов/ID. Мне лично иногда не хватало аналога enum, хотя бы только для чисел. Типа вот:
    Код:
    ENUM id1=0,id2,id3,id4=7,id5,id6
    чтобы получить id1=1, id2=2, id3=3, id4=7, id5=8, id6=9...
    Все любят гипножабу

  10. #1219

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
        struct object
    f0  byte "a"
        byte "a"
        byte "a"
        byte "a"
    f1  byte "b"
    f2  byte "a"
        byte "a"
        byte "s"
        byte "d"
        byte "a"
        byte "s"
        byte "d"
    f3  byte "a"
        byte "d"
        ends
    
    objects ds object*10 ; место для 10 объектов
    
        ld hl,objects+5*object+object.f2 ;адрес поля f2 5-го (начиная с 0) объекта


    ---------- Post added at 18:10 ---------- Previous post was at 18:08 ----------

    Цитата Сообщение от SAM style Посмотреть сообщение
    Во, кстати. Насчёт индексов/ID. Мне лично иногда не хватало аналога enum, хотя бы только для чисел. Типа вот:
    Код:
    ENUM id1=0,id2,id3,id4=7,id5,id6
    чтобы получить id1=1, id2=2, id3=3, id4=7, id5=8, id6=9...
    Код:
      struct Types
    id0 byte
    id1 byte
    id2 byte
    id3 byte
      ...
      ends
    будет аналогично
    Код:
    Types.id0=0
    Types.id1=1
    Types.id2=2
    Types.id3=3
    ...

  11. #1220

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Код:
        ld hl,objects+5*object+object.f2 ;адрес поля f2 5-го (начиная с 0) объекта
    Я фигово объяснил. Попробую на другом примере.

    Пускай, есть блок данных со спрайтами.
    Спрайт содержит два байта - ширину и высоту, и некоторое количество данных самой картинки. Что-то такое:

    спрайт1
    1, 1, .... тут 8 байт графики
    спрайт2
    2, 3, .... тут 48 байт графики
    спрайт3
    5, 2, ... тут 80 байт графики

    и есть блок, описывающий комнату, где используются координаты на экране, и номер (!) спрайта

    3,5,1 - в координаты 3,5 поместить спрайт номер 1 (именно индекс, а не адрес!)
    10,20,1 - ... 10, 20, номер 1
    15,2,3 - ... 15, 2, номер 3
    25,10,2 - ... 25, 10, номер 2


    естественно, описывать комнату цифрами не по-человечески, хочется давать нормальные названия индексам, которые и будут использоваться

    3,5,собака
    10,20,собака
    15,2,книга
    25,10,звезда

    короче, что-то похожее на упомянутые enum-ы

Страница 122 из 167 ПерваяПервая ... 118119120121122123124125126 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Кросс-ассемблеры Z80 для Pc
    от Aprisobal в разделе Программирование
    Ответов: 16
    Последнее: 15.01.2011, 22:46
  2. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03
  3. Хороший ПЦшный ассемблер - залог успеха!
    от Aprisobal в разделе Программирование
    Ответов: 35
    Последнее: 08.08.2005, 15:25
  4. ZX ассемблер (и не только?) с библиотеками
    от shade в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2005, 19:43

Ваши права

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