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

User Tag List

Страница 106 из 167 ПерваяПервая ... 102103104105106107108109110 ... ПоследняяПоследняя
Показано с 1,051 по 1,060 из 1664

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

  1. #1051
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TSL Посмотреть сообщение
    Тады пусь сабж сам померджит кот и вылажыт.
    Мой код требует анализа от просвещенных и тестирования от юзеров. Я сделал "фикс вслепую". Вроде как, после обработки сырцов регэкспами (для достижения совместимости по структурам с тем асмом, для которого декомпилил), количество ошибок в дизасме Саботёра 2 снизилось с ~5000 до ~500 (уже не по структурам). Но аутентичного бинаря еще нет. И да, я вломился в emit макросов, в дизасме их тоже нет, а на старых сорцах с макросами еще не проверял.

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

  3. #1052
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вроде как, накопал еще одну багу.
    Суть: Если внутри модуля есть INCLUDE, внутри которого тоже есть модуль, ужасм ингода падает во время компиляции. Маловероятно, что это наведено моим предыдущим фиксом со структурами без меток.
    В общем, в directives.cpp, dirMODULE() было так:
    Код:
    			ModuleName = (char*)realloc(ModuleName,strlen(n)+strlen(ModuleName)+2);
    			if (ModuleName == NULL) {
    				Error("Not enough memory!", 0, FATAL);
    			}
    			STRCAT(ModuleName, sizeof("."), ".");
    			STRCAT(ModuleName, sizeof(n), n);
    Падало в STRCAT (дебажная версия говорила, что стринг не заканчивается null'ом).
    Стало так:
    Код:
    			ModuleName = (char*)realloc(ModuleName, strlen(n) + strlen(ModuleName) + 200);
    			if (ModuleName == NULL) {
    				Error("Not enough memory!", 0, FATAL);
    			}
    			strcat(ModuleName, ".");
    			strcat(ModuleName, n);
    Так не падает и вроде как компилит. Просьба к сишника и авторам репозиториев оценить фикс. Я не знаю разницы между STRCAT и strcat, оно помогло. Я тоже потестирую исправление.

  4. #1053
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Падало в STRCAT (дебажная версия говорила, что стринг не заканчивается null'ом).
    Код:
    const int totalSize = strlen(n)+strlen(ModuleName)+2;
    ModuleName = (char*)realloc(ModuleName,totalSize);
    if (ModuleName == NULL) {
      Error("Not enough memory!", 0, FATAL);
    }
    STRCAT(ModuleName, totalSize, ".");
    STRCAT(ModuleName, totalSize, n);
    Непонятно, на кой хрен юзать сишные строки из говна и палок указателей в программе на С++?

  5. #1054
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну ты принимаешь мой фикс в свою репу? Али иначе как-то надо пофискить? Олсо +200 зря написал. Работают те же +2.
    Add: Попроюбую твой фикс завтра.
    Последний раз редактировалось Alex Rider; 17.01.2015 в 19:14.

  6. #1055
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Ну ты принимаешь мой фикс в свою репу? Али иначе как-то надо пофискить? Олсо +200 зря написал. Работают те же +2.
    Напиши тест, показывающий проблему. Я сам пофикшу тогда.

  7. #1056
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    LABELSLIST для меток с адресами C000..FFFF кладёт на банку, в которой эта метка была создана, и ставит туда 00:
    Код:
    	DEVICE ZXSPECTRUM128
    
    	org 0x8000,0
    	
    l8000_0	nop
    	ret
    	
    	org 0xc000,0
    lc000_0	nop
    	ret
    	
    	org 0xc000,1
    lc000_1	nop
    	ret
    		
    	LABELSLIST "labels"
    ...даст...
    Код:
    02:0000 l8000_0
    00:0000 lc000_0
    00:0000 lc000_1
    А метки с адреса ниже #4000 вообще не сохраняются. Между делом, это может быть не только адрес, но и длина какой-то структуры (или он EQU тут не обрабатывает?)
    Последний раз редактировалось SAM style; 22.01.2015 в 02:02.
    Все любят гипножабу

  8. #1057
    Master Аватар для siril
    Регистрация
    01.02.2005
    Адрес
    perm/ru
    Сообщений
    520
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от siril Посмотреть сообщение
    А где сейчас актуальный репозиторий располагается? Откуда тянуть исходники, чтобы под MacOSX и под Linux собрать?
    https://github.com/vitamin-caig/sjasmplus

    Vitamin, можешь в релизы сборки/бинарники добавить? (для разных систем).
    oisee.

  9. #1058
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от siril Посмотреть сообщение
    Vitamin, можешь в релизы сборки/бинарники добавить? (для разных систем).
    Это для каких?

  10. #1059
    Master Аватар для siril
    Регистрация
    01.02.2005
    Адрес
    perm/ru
    Сообщений
    520
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Это для каких?
    Ну, стандартно: Windows, Linux, MacOSX/FreeBSD. (Чем больше - тем лучше =)
    oisee.

  11. #1060
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от siril Посмотреть сообщение
    Ну, стандартно: Windows, Linux, MacOSX/FreeBSD. (Чем больше - тем лучше =)
    Под рукой есть только винда (да и то, не проверял на ней сборку) и archlinux (билды под который мало кому пригодятся). Так что ой.
    Так шта предлагаю основному майнтейнеру (mkoloberdin) просто затянуть мои фиксы (их немного).

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

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

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

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

Ваши права

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