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

User Tag List

Страница 157 из 167 ПерваяПервая ... 153154155156157158159160161 ... ПоследняяПоследняя
Показано с 1,561 по 1,570 из 1664

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

  1. #1561

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

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    А что в том окошке на скриншоте, если ткнуть "view problem details"?
    да как обычно, не сильно внятно




    Попробовал простейший код, компилится без проблем.

    Код:
    	DEVICE ZXSPECTRUM48
    
    	ORG #5D91
    START:
    	ret
    	
    	SAVEBIN "_hello.bin", START
    На большом проекте по всей видимости, где-то валится на макросах или инклудах.


    P.S.
    Нашёл ещё - файлик savetap_test.asm из набора sjasm-1.10.1 тоже валит компиляцию.
    положил сюда
    Последний раз редактировалось Bedazzle; 06.03.2019 в 00:02.

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

  3. #1562

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

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    32-x битная под ХР точно работает.
    ну и по тап-ке

    Различие в лоадере явно видно, твой последний - слева.
    Но тем не менее компиленный файл работает правильно.
    Разобрался. Это ни на что не влияет - "new" "намусорил" (не обнулил точнее) в выделенный буфер. Эта часть данных загрузчика не используется, т.к. нет использованных 128К страниц и соответствующие поля не заполняются. (в старой версии обнулялось, т.к. память выделялась по-другому)
    Программа же для 48К? А "device zxspectrum128" используется? Зачем?

    Чтоб соответствовало поведению предыдущих версий и чтоб не мусорило в тапки, будет обнуление в следующих версиях.

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

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    На большом проекте по всей видимости, где-то валится на макросах или инклудах.
    А, я думал что он в принципе валится на Вин7. ОК, будем разбираться. Исходники в личку могут сильно ускорить процесс.

    Нашёл ещё - файлик savetap_test.asm из набора sjasm-1.10.1 тоже валит компиляцию.
    положил сюда
    Спасибо, смотрю.

    Код:
    ; store BASIC
    		savetap	"output.tap",BASIC,"tstSAVETAP", bas.line10, bas.total, 10
    ; store SCREEN$
    		savetap	"output.tap",CODE,"intro", screen, screen.len
    ; store CODE
    		savetap	"output.tap",CODE,"demo", demo, demo.len
    ; store CHARS
    		savetap "output.tap",CHARS,"t$", chars, chars.len, 't'
    ; store HEADLESS
    		savetap "output.tap",HEADLESS, (screen + $1800), 32, 66 ; custom flag
    Это что за директивы? Документация знает только про "SAVETAP <filename>,<startadressofprogram>" ( https://github.com/sjasmplus/sjasmpl...dressofprogram )


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

    Новый релиз v.20190306: https://github.com/sjasmplus/sjasmplus/releases

    Fixed
    • SAVETAP: zero-fill allocated memory buffer before using it
    • Fixed a crash in EDUP
    Последний раз редактировалось mastermind; 06.03.2019 в 01:40.

  4. #1563

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

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    Это что за директивы? Документация знает только про "SAVETAP <filename>,<startadressofprogram>"
    это в версии 1.10 было впилено

    Цитата Сообщение от mastermind Посмотреть сообщение
    Новый релиз v.20190306
    во, другое дело, перестал крашиться, компилит
    ))

  5. #1564

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

  6. #1565

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

    По умолчанию

    Какие-то чудеса стали происходить с "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 - все равно падает.
    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

  7. #1566

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

    По умолчанию

    [QUOTE]Программа же для 48К? А "device zxspectrum128" используется? Зачем?/QUOTE]
    Да, все мои поделки для 48 режима, ну или бинарники для РК. Но как бы для моих целей не было разницы, какой девайс выставлять. Компилило с ь и работало одинаково.впредь буду знать
    Profi v3.2 -=- Speccy2010,r2

  8. #1567

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

  9. #1568

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

  10. #1569

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

  11. #1570

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А меня интересует, когда можно будет пихать условия внутрь макросов?
    например:
    Код:
    		MACRO call_sys reg_c, reg_hl
    			IF reg_hl
    				ld hl,reg_hl
    			ENDIF
    
    			ld c,reg_c
    			rst 0x10
    			
    		ENDM
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

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

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

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

Ваши права

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