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)

    По умолчанию

    Новый релиз: 20190304

    Бинарники для винды и мака брать здесь: https://github.com/sjasmplus/sjasmplus/releases
    Для Linux/Unix несложно собрать самостоятельно, инструкция в README.
    Для пользователей Arch Linux есть пакет в AUR. (устанавливается, например, с помощью yaourt -S sjasmplus)

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

    Отправил pull-request в репо Homebrew: https://github.com/Homebrew/homebrew-core/pull/37576
    Пользователям Маков и всем заинтересованным в распространении данной софтины, стоит зайти на репо sjasmplus (--> https://github.com/sjasmplus/sjasmplus ) и ткнуть в правом верхнем углу "Star", "Watch" или "Fork" если это кому нужно. Это может повысить вероятность включения пакета с нулевой, т.к. админы Homebrew по этим показателям оценивают популярность софта. (на данный момент тамошний бот ругается что GitHub repository not notable enough (<30 forks, <30 watchers and <75 stars) )

    Что нового (ниже на русском), ChangeLog:

    Added


    • New option: --output-dir
    • Smart positioning of stack in 128K .sna snapshots
    • --raw option without a parameter enables generation of default *.out files
    • --lst and --sym now also work as expected without parameters
    • New option --target=i8080 to restrict instruction set to be compatible with i8080
    • --labels to dump UnrealSpeccy-compatible labels without polluting the source code with external file names (via the existing directive)


    Fixed



    • RST 10h calls in 128K .sna snapshots
    • Writing to address 0xFFFF was broken
    • ORG was broken if DISP was active
    • No more "Forward reference" error messages in EQU/DEFL
    • Fixed .(expression) prefix (acts like DUP/REPT for a single line)
    • Fixed include search order, including angle bracketed includes as documented
    • Fixed infinite recursion in macro expansion when a parameter and substitution are the same
    • HIGH(expr) / LOW(expr) / NOT(expr) now do not require the argument to be separated by whitespace
    • INCBIN, INCTRD, INCHOB & INCLUDELUA now use the same file path resolution mechanism as INCLUDE
    • Fixed per file output of exports by default (unless overriden by --exp)



    Кратко по-русски:
    • Добавлена опция --output-dir для принудительного вывода выходных файлов в заданную директорию.
    • "Умное" расположение стека при создании 128К .sna (в т.ч. для решения проблемы в данной теме описанной, с выводом по RST #10)
    • *.out по умолчанию не создаются, опция --raw без параметра включает вывод *.out (с параметром работает как и раньше)
    • --lst и --sym теперь можно указывать без параметра, имена файлов генерируются автоматически на основе имени первого исходного файла.
    • --target=i8080 - для генерации кода, совместимого с i8080.
    • --labels (с параметром или без) - для вывода файла меток (для UnrealSpeccy и т.п.), теперь можно не засорять исходники вещами которым там не место, типа имен файлов меток
    • "Ссылки вперед" в EQU/DEFL теперь работают без ошибок.
    • Префикс .(выражение) не работал (работает как DUP/REPT) для одной строки - исправлено.
    • Порядок поиска инклюдов приведен в порядок.
    • Исправлена упомянутая несколькими постами выше проблема с зацикливанием разворачивания макросов.
    • HIGH(выражение) / LOW(выражение) / NOT(выражение) можно теперь использовать без пробела перед скобкой
    • INCBIN, INCTRD, INCHOB & INCLUDELUA теперь ищут файлы по той же логике что и INCLUDE
    • экспорты пишутся теперь как задумано, по умолчанию в файлы с именами соответствующими именам исходников верхнего уровня. (если не использована опция --exp)


    Тестирование приветствуется. Баги, реквесты и предложения лучше всего писать сюда (можно на русском): https://github.com/sjasmplus/sjasmplus/issues
    Последний раз редактировалось mastermind; 04.03.2019 в 07:01.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    Новый релиз: 20190304
    1.07 собирает исходник без проблем. Подсовываю новую версию, вываливаются ошибки.





    Код:
    	MACRO PACKEXITS exit1, exit2
    		DB (exit1 << 4) | exit2
    	ENDM
    Код:
    	MAP 1
    LENGTH_3:
    W_AND:
    _AND:	#1
    	DC "AND"
    W_THE:
    _THE:	#1
    	DC "THE"
    W_OAK:
    _OAK:	#1
    	DC "OAK"
    Последний раз редактировалось Bedazzle; 04.03.2019 в 10:50.

  4. #3

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

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Код:
    	MAP 1
    LENGTH_3:
    W_AND:
    _AND:	#1
    	DC "AND"
    W_THE:
    _THE:	#1
    	DC "THE"
    W_OAK:
    _OAK:	#1
    	DC "OAK"
    MAP-ы выпилены @Vitamin-ом давно, см. тему с этого поста: https://zx-pk.ru/threads/447-sjasmpl...map#post778111
    Цитата Сообщение от Vitamin Посмотреть сообщение
    Идем далее

    Кто пользуется директивами MAP/ENDMAP и полями? Судя по документации, это какой-то треш,угар и содомия аналог структур для бедных.
    Таки нужны они?

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

    Цитата Сообщение от Shiny Посмотреть сообщение
    Вообще говоря, надо не устанавливать, а опционально.
    Пусть пока так будет (пока не сделаю кастомизацию значений заголовка SNA).
    в .SNA фиг пойми что происходит - вызов из ROM и переход по адресу с непонятными значениями регистров.
    Насколько я могу судить, ктото (Aprisobal?) просто вышел в дебаггер в эмуле с голым бейсиком и скопировал значения регистров.
    По хорошему да, надо или разумные дефолты какие-то и/или кастомизацию всех значений. А на данный момент лучше всего не полагаться на начальные значения регистров в SNA.
    Я пока особо не вникал в это, просто сделал чтоб стэк более менее нормально инициализировался в т.ч. в 128К чтобы можно было использовать RST #10 и вернуться в бейсик по RET.

  5. #4

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    просто вышел в дебаггер в эмуле с голым бейсиком и скопировал значения регистров
    что ж это за дебагер такой? (: значения разные. Кроме того, у .SNA стек указывает на стартовый адрес-1, если не ошибаюсь.это тоже неверно.

  6. #5

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

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    MAP-ы выпилены @Vitamin-ом давно, см. тему с этого поста: https://zx-pk.ru/threads/447-sjasmpl...map#post778111

    Таки нужны они?
    У меня единственный исходник, я не гордый, могу переделать, если подскажете, как правильно.

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

    Например, текстовые сообщения 1, 2, 3, ...N
    И дальше в данных используем не адрес, а номер сообщения.

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

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

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

Ваши права

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