User Tag List

Страница 153 из 167 ПерваяПервая ... 149150151152153154155156157 ... ПоследняяПоследняя
Показано с 1,521 по 1,530 из 1664

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

  1. #1521

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

    По умолчанию

    Вложенность define / макросов более 20 уровней. Это на какой версии? Свежая из гитхаба или нет?

  2. #1522

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

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    Вложенность define / макросов более 20 уровней. Это на какой версии? Свежая из гитхаба или нет?
    Да, прям свежак.

    Для воспроизведения проблемы проект git@github.com:asve79/z80-ftp.git ветка wc_plugin.
    Перед запуском билза ./_make.sh нужно выполнить ./get_depencies.sh

    Сейчас ругается так:
    ==
    **** Compile wc_ftp ****
    SjASMPlus Z80 Cross-Assembler v.2019xxyy-WiP
    main.asm(640): error: Over 20 defines nested
    ==

    Причем у меня там явно нет вложенности 20. Может быть 3.
    Последний раз редактировалось asve79; 01.03.2019 в 15:43.
    ZX Evolution rev C4 + ZiFi
    GIT: https://github.com/asve79
    On-line:
    https://t.me/z80_q11 - Канал общения около тем спека и Z80
    https://t.me/speccymusic - Канал speccy music
    https://t.me/speccy_hard - Канал speccy hardware

  3. #1523

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

    По умолчанию

    Цитата Сообщение от asve79 Посмотреть сообщение
    Да, прям свежак.

    Для воспроизведения проблемы проект git@github.com:asve79/z80-ftp.git ветка wc_plugin.
    Перед запуском билза ./_make.sh нужно выполнить ./get_depencies.sh

    Сейчас ругается так:
    ==
    **** Compile wc_ftp ****
    SjASMPlus Z80 Cross-Assembler v.2019xxyy-WiP
    main.asm(640): error: Over 20 defines nested
    ==

    Причем у меня там явно нет вложенности 20. Может быть 3.
    Проблема была из за того что параметр макроса и аргумент одинаковы. Это вызывало бесконечную рекурсию. Древний баг. В последнем коммите исправлено.
    Код:
                    MACRO   _mkfile filestruct ; параметр 'filestruct'
                    LD      HL,filestruct ; здесь происходила бесконечная замена 'filestruct' на 'filestruct'
                    CALL    fs.mkfile
                    ENDM
    Код:
            _mkfile filestruct ; и параметру 'filestruct' выше присваивается значение аргумента='filestruct'
    Последний раз редактировалось mastermind; 02.03.2019 в 00:56.

  4. #1524

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

    По умолчанию

    Кстати, а пробовал ли кто компилировать код по адресу 0? У меня со старой версии фигня вышла какая-то.

    по текущей пожелания по .SNA : сделать опционально включенными прерывания. И установить BC=адресу запуска(тоже по выбору)

  5. #1525

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

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    Кстати, а пробовал ли кто компилировать код по адресу 0? У меня со старой версии фигня вышла какая-то.
    Код:
    # org0.asm:
    lab1:
      jp lab1
    
    $ sjasmplus --raw --lst=org0.lst org0.asm
    
    # org0.lst:
    1   0000             lab1:
    2   0000 C3 00 00      jp lab1
    3   0003
    
    # org0.out (hex):
    00000000 C3 00 00

    по текущей пожелания по .SNA : сделать опционально включенными прерывания. И установить BC=адресу запуска(тоже по выбору)
    Почему именно BC=адресу запуска? Это с чем-то связано? Можно в принципе сделать все что угодно (кастомизацию заголовка SNA как угодно), но сначала я хочу парсер радикально переделать.

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

    Цитата Сообщение от Black Cat / Era CG Посмотреть сообщение
    Не. Я имею в виду, чтобы из одного исходника можно было экспортить в разные файлы.
    Подробнее плз, зачем такое нужно? Что за юзкейс?
    По мне так лучше поменьше в исходник таких вещей запихивать, наоборот лучше все что можно относительно вывода в файлы вынести в параметры ком. строки. (чтоб можно было менять эти параметры не правя исходник) А если нужно в разные файлы, так лучше и выводить из разных (т.е. разделить исходник).
    Есть какая-то серьезная причина делать иначе?

  6. #1526

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,966
    Спасибо Благодарностей отдано 
    1,074
    Спасибо Благодарностей получено 
    1,168
    Поблагодарили
    911 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чтобы можно было определенные результаты компиляции использовать извне, например.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  7. #1527

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

    По умолчанию

    Цитата Сообщение от Black Cat / Era CG Посмотреть сообщение
    Чтобы можно было определенные результаты компиляции использовать извне, например.
    Ну так директива EXPORT в нынешнем виде как раз и существует для этого. Для тех результатов (меток) что нужно использовать извне, она используется, для тех что не нужно - не используется.
    Нужны еще какие-то "третьи" варианты? Для чего?

  8. #1528

    Регистрация
    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.

  9. #1529

    Регистрация
    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.

  10. #1530

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    385
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У мнУ на первом проверенном исходнике уже "застряло"
    Код:
        jp pe,FastLDIR_Loop
    и лог компиляции
    ---------- Capture Output ----------
    > "D:\Program Files\Crimson Editor SVN286M\sjasmplus-win32-1.07-rc7\sjasmplus.exe" kva4bis.asm
    SjASMPlus Z80 Cross-Assembler v.20190304
    Pass 1 complete (0 errors)
    Pass 2 complete (0 errors)
    kva4bis.asm(757): error: Label not found: pe
    Pass 3 complete
    Errors: 1, warnings: 0, compiled: 1004 lines


    > Terminated with exit code 1.

    Причем pe - это не метка как бы Код для Z80, уточ нюю на всяк. случай
    Profi v3.2 -=- Speccy2010,r2

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

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

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

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

Ваши права

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