User Tag List

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

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

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

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

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

    По умолчанию

    Хотел задать еще один вопрос.


    При компиляции, при некоторых ошибках все равно создается бинарь. В чем фишка?

    Вот например:

    Код:
    SjASMPlus Z80 Cross-Assembler v.20190304+++WiP
    Pass 1 complete (0 errors)
    Pass 2 complete (0 errors)
    main.asm(114): error: Label not found: main.sockets.sent
    Pass 3 complete
    Errors: 1, warnings: 0, compiled: 5152 lines

    При этой ошибке создается бинарик. Да и код завершения компирятора = 0, что "все норм".
    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

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от asve79 Посмотреть сообщение
    При этой ошибке создается бинарик. Да и код завершения компирятора = 0, что "все норм".
    Да, известная проблема, с этим делом полный "разброд и шатание". Записал в баги чтоб не забыть разобраться с этим: https://github.com/sjasmplus/sjasmplus/issues/8

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

    Цитата Сообщение от asve79 Посмотреть сообщение
    Какие-то чудеса стали происходить с "Over 20 defines nested"

    Добавил код в макрос:

    Код:
    	XOR	A
    	LD	(filename-1),A		;type 0 - file
    	_fentry filename-1		;Copen file
    Снова получил ошибку
    Код:
    SjASMPlus Z80 Cross-Assembler v.20190306
    main.asm(113): error: Over 20 defines nested
    В этой строке вызывается
    Код:
    	_ifenterput	ekcm_nc
    Сам макрос заменил чтобы имена агрумента и параметра не совпадали.
    Код:
    		MACRO	_fentry fname
    		LD	HL,fname
    		CALL	fs.fentry
    		ENDM
    И все равно падает.

    Убрал уже вызов _fentry - все равно падает.
    Непонятна связь этой строчки с остальным кодом:
    Код:
    	_ifenterput	ekcm_nc
    Вот такой код успешно ассемблируется:
    Код:
            module fs
    fentry equ 0
            endmodule
    
    filename   db "asdf.ghj"
    
            MACRO   _fentry fname
            LD      HL,fname
            CALL    fs.fentry
            ENDM
    
            XOR     A
            LD      (filename-1),A          ;type 0 - file
            _fentry filename-1              ;Copen file
    
    ;               _ifenterput     ekcm_nc
    Код:
    SjASMPlus Z80 Cross-Assembler v.20190306
    Pass 1 complete (0 errors)
    Pass 2 complete (0 errors)
    Pass 3 complete
    Errors: 0, warnings: 0, compiled: 20 lines
    Что я делаю не так?
    Последний раз редактировалось mastermind; 06.03.2019 в 14:57.

  4. #3

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

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    Что я делаю не так?
    Таак...
    Вот хороший вопрос. )
    Этот модуль из другого кода норм компилируется.

    ==
    Для воспроизведения проблемы проект git@github.com:asve79/z80-ftp.git ветка wc_plugin.
    1. Зайти в каталог: cd z80-ftp
    2. Скачать зависимости: ./get_depencies.sh
    3. Запустить сборку: ./_make.sh
    ==

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

    Нашел косяк!

    в файле fs.mac ф-ция была определена так:

    Код:
    		MACRO	_mkfile filestruct
    		LD 	HL,filestruct
    		CALL	fs.mkfile
    		ENDM
    Она вызывалась также с аргументом filestruct, на этом и падало.

    переделал на

    Код:
    		MACRO	_mkfile fstruct
    		LD 	HL,fstruct
    		CALL	fs.mkfile
    		ENDM
    И все полетело

    В гите пока нерабочая версия, которая падает.

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

    Выдвину предположение, что твой фикс на устранения зацикливания при одинаковом аргументе и параметре, работает только на 1 один случай в коде. Если их больше 1 то падает.
    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

  5. #4

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

    По умолчанию

    Цитата Сообщение от asve79 Посмотреть сообщение
    Выдвину предположение, что твой фикс на устранения зацикливания при одинаковом аргументе и параметре, работает только на 1 один случай в коде. Если их больше 1 то падает.
    Нет, я тот фикс случайно выпилил в процессе другого фикса (т.к. чиню пока подобные глюки "тупо в лоб" - пока парсер нормально не перепишу)
    В репо на github уже исправлено, сейчас сделаю релиз.

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

    Новый релиз: v.20190306.1




    Fixed
    • Fixed some problems with MACRO arguments parsing
    Последний раз редактировалось mastermind; 07.03.2019 в 17:47.

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

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

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

Ваши права

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