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

User Tag List

Страница 8 из 167 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 1664

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

  1. #71
    Member Аватар для Kurles
    Регистрация
    17.01.2005
    Адрес
    Cherepovets
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Spectre
    Вот это надо добавить в sjasm:
    {a} - слово, находящееся в памяти по адресу a;
    a~ (инвертирование текущего результата) - такого в sjasme'е я не видел;
    'a - старший байт a (high a);
    .a - младший байт a (low a);
    Я над этим уже думал. <'a> - в принципе реализуемо, в отличие от <.a>, т.к. <.> при работе с метками уже используется для обозначения принадлежности к какому-либо модулю.
    Цитата Сообщение от Spectre
    ?метка - возвращает 0, если метка уже определена, #ffff, если не определена, и 1, если не определена, но к ней было уже обращение. Если метка - название макроса, то 2;
    Не забывай, что sjasm в отличии от , двухпроходной, и все арифмитические операции выполняются на втором проходе, т.ч. метка "ещё не определённой" быть не может %)
    Цитата Сообщение от Spectre
    Вместо EQU можно писать label=5;
    Такой синтаксис даже оригинальный sjasm 0.39 понимает.
    Цитата Сообщение от Spectre
    Дополняйте кто может...

  2. #72
    Activist Аватар для Spectre
    Регистрация
    26.01.2005
    Адрес
    Минск
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kurles
    Цитата:
    Сообщение от Spectre
    ?метка - возвращает 0, если метка уже определена, #ffff, если не определена, и 1, если не определена, но к ней было уже обращение. Если метка - название макроса, то 2;


    Не забывай, что sjasm в отличии от , двухпроходной, и все арифмитические операции выполняются на втором проходе, т.ч. метка "ещё не определённой" быть не может %)
    Ты немного не так понял. При помощи ? мы проверяем существует ли такая метка в листинге программы. Делается это для таких случаев:

    ;memdriver

    IF ?memdriver
    ...
    ENDIF

    То есть если раскомментировать слово memdriver, то будет компилироваться кусок в IF:ENDIF.

  3. #73
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kurles
    Я над этим уже думал. <'a> - в принципе реализуемо, в отличие от <.a>, т.к. <.> при работе с метками уже используется для обозначения принадлежности к какому-либо модулю.
    Имхо такие символы как ' и . не надо добавлять, т.к. в других асмах спековских совсем по-другому - STORM: [ и ]

    Вышла новая версия - 1.05 RС2. [...вырезано...]
    В этой версии появилась возможность писать команды через запятую типа LD A,B,H,L,A,0 и т.п. Пока это только для LD,INC,DEC,CALL,DJNZ,JP,JR. А что делать с AND,CP,XOR,OR и др., в которых поддерживается запись вида XOR A,B (XOR B) или OR A,C (OR C)? Ведь если написать XOR A,B,A,C,A,D, то получим XOR B,C,D, а должно быть XOR A,B,A,C,A,D как в спековских асмах.
    Последний раз редактировалось Aprisobal; 06.04.2005 в 12:50.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  4. #74
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aprisobal
    А что делать с AND,CP,XOR,OR и др., в которых поддерживается запись вида XOR A,B (XOR B) или OR A,C (OR C)? Ведь если написать XOR A,B,A,C,A,D, то получим XOR B,C,D, а должно быть XOR A,B,A,C,A,D как в спековских асмах.
    Видимо, отменить xor a,b вместо xor b и т.д. как несуществующие в мануалах по Z80 =)

  5. #75
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Spectre
    {a} - слово, находящееся в памяти по адресу a;
    В SjASM'e скобки {..} являются синонимами (..) и [..]. В других асмах такого не замечал. Всем: как считаете, сделать функцию скобок {..} (будет работать только с ключом -m) такой же как в аласме?
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  6. #76
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aprisobal
    В SjASM'e скобки {..} являются синонимами (..) и [..]. В других асмах такого не замечал. Всем: как считаете, сделать функцию скобок {..} (будет работать только с ключом -m) такой же как в аласме?
    Видимо, выбросить все нестандартно-гореизобретательские фишки из съясма стоит. А вот совместимость со спековыми асмами - всегда хорошо. Может быть, даже стоит сделать (в далёком будущем) наборы парсеров для разных спековских асмов. =)

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

  8. #77
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Видимо, выбросить все нестандартно-гореизобретательские фишки из съясма стоит. А вот совместимость со спековыми асмами - всегда хорошо. Может быть, даже стоит сделать (в далёком будущем) наборы парсеров для разных спековских асмов. =)
    Нет смысла.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  9. #78
    Master Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aprisobal
    Всем: как считаете, сделать функцию скобок {..} (будет работать только с ключом -m) такой же как в аласме?
    есть дурное предложение: воспользоваться идеями Metal'а разработанного Владимиром Кладовым.
    т.е. всевозможные скобки {}, [], () могут находиться в строке в области метки. Скобки должны быть парными. Разрешается делать отступ на произвольное число пробелов. При этом скобки являются аналогом LOCAL/ENDLOCAL и возможны переходы на скобки, например:
    "DJNZ {" - переход на начало цикла
    "JR C, }}" - выход из цикла 2й степени вложенности

    Плюсы:
    1. лучше видна структура программы за счет парности скобок и отступов для вложенных блоков
    2. упрощается повторное использование кусков кода за счет отсутсвия проблем с использованием уже существующих меток
    3. нет нужды каждый раз придумывать имена меток для начала/конца циклов (типа: next_*, loop, endLoop)
    4. в правильных редакторах возможен folding, т.е. свертывание блока кода в одну строку

    Минусы:
    1. непривычно
    2. надо серьезно переделывать парсер
    3. не портируемо

  10. #79
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aprisobal
    Нет смысла.
    Тогда и вообще нет смысла подгонять под особенности, например, аласма с его if/ifn, etc.

  11. #80
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2
    "DJNZ {" - переход на начало цикла
    "JR C, }}" - выход из цикла 2й степени вложенности
    В SjASM уже похожее есть:
    Код:
    Temporary labels
    ----------------
    To keep the number of used labels 
    reasonable it is possible to use numbers
    as labels. These labels can only be 
    used as labels to jump to. To jump 
    to these labels, use the number 
    followed by an 'F' for forward branches
    or a 'B' for backward branches. 
    Temporary labels should not be used within macro's.
    Example:
      ADD A,E
      JR NC,1F
      INC D
    1 LD E,A
    2 LD B,4
      LD A,(DE)
      OUT (152),A
      DJNZ 2B
    Цитата Сообщение от lvd
    Тогда и вообще нет смысла подгонять под особенности, например, аласма с его if/ifn, etc.
    А мы и не подгоняем. Только добавляем полезные директивы типа DISPLAY.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

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

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

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

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

Похожие темы

  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

Ваши права

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