User Tag List

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

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

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

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

    Регистрация
    21.08.2009
    Адрес
    Cyprus
    Сообщений
    236
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    Скажем так: вывод текста в .SNA не работает, rst 10h приведет к сбросу. Причина: неверные данные системных переменных.
    Проверил.
    При "device zxspectrum48" - работает. (тестировал на примере отсюда: http://zxpress.ru/book_articles.php?id=1150 )
    При "device zxspectrum128" - да, нужно поправить.

    - - - Добавлено - - -

    Цитата Сообщение от Dexus Посмотреть сообщение
    Ну что ж.. 14 лет назад я зацепился за сабжевый компилятор, подумал "о, крутота какая, столько наворотов, макросы, макрооператоры, сохранялки всякие". Но потом сильно удивился не сумев в нём откомпилировать ни один свой код. Написал в этом же самом треде, пожаловался на то, что сабж не умеет в Forward reference. Вот такой простейший кусок не компилится:

    length equ end-start
    org 8000h
    start
    ld bc,length
    ret
    end

    Сие преспокойно компилилось в TASM, в z80asm, и в свежем rasm тоже компилится. Почему сабж до сих пор не умеет такого простого действия, как переменные (equ) с отсылкой на метки ниже? Ведь в конце уже первого прохода все смещения уже известны, а тут их аж 3... И сабж остаётся более ущербным в этом плане, чем древний спектрумовский tasm, которым я пользовался 25 лет назад.
    Самое интересное что он при этом генерирует правильный код:
    Код:
    SjASMPlus Z80 Cross-Assembler v.20170908+dev
    forw.asm(1): error: Forward reference
    Pass 1 complete (1 errors)
    Pass 2 complete (1 errors)
    Pass 3 complete
    Errors: 1, warnings: 0, compiled: 7 lines
    На последнем проходе нет ошибки! (да, кривизна)
    Результат:
    Код:
    01 04 00 C9
    Эта проблема проявляется только при ссылке с одного EQU на другой. В остальных случаях (ссылка из операнда z80-директивы на EQU) ссылки вперед работают без ошибок.
    Последний раз редактировалось mastermind; 03.02.2019 в 03:09.

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

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

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

Эту тему просматривают: 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

Ваши права

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