Важная информация
Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 10 из 36

Тема: Хороший ПЦшный ассемблер - залог успеха!

  1. #1
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Благодарностей: 36

    Cool Хороший ПЦшный ассемблер - залог успеха!

    Нашел недавно интересный кросс-ассемблер - SjASM. Основные возможности и достоинства:
    - локальные метки
    - макросы
    - условная трансляция
    - многофайловый вывод данных
    - поддержка gens'овидных hex чисел - #xxxx
    - алиасы команд (ld hl,de и т.д.)
    - многострочные комментарии
    - недокументированные команды
    - и многое многое другое!

    Данный ассемблер приложен в виде аттачмента. Кто что думает?

    Кстати, с помощью утилиты BIN2SNA можно собрать в снапшот -- http://zx-pk.ru/showthread.php?t=93
    Вложения Вложения
    • Тип файла: zip sjasm.zip (167.8 Кб, Просмотров: 454)
    Последний раз редактировалось Aprisobal; 23.12.2005 в 03:36. Причина: некрасиво было
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

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

  3. #2
    Activist
    Регистрация
    19.01.2005
    Сообщений
    291
    Благодарностей: 0

    По умолчанию

    Цитата Сообщение от aprisobal
    Основные возможности:
    Сразу вопросы:

    1) Структуры поддерживает (для работы с индексными регистрами)?
    2) Умеет ли собирать запускаемый файл(ы) ($C, $B, TAP)?
    3) Если умеет пункт 2), может ли паковать полученнные "exe"-шники?
    4) Умеет ли работать со страничной памятью ZX?

    Качаю...

    ... Ay_Emul: Silent now...

  4. #3
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Благодарностей: 36

    По умолчанию

    Цитата Сообщение от Bulba
    ...
    Качаю...
    1) Что-то похожее есть:
    Код:
      STRUCT SCOLOR
    RED   BYTE 4
    GREEN BYTE 5
    BLUE  BYTE 6
      ENDS
    
    This is identical to:
    SCOLOR       EQU 3 ; lenght
    SCOLOR.RED   EQU 0 ; offset
    SCOLOR.GREEN EQU 1 ; offset
    SCOLOR.BLUE  EQU 2 ; offset
    2) Он не заточен под спекки. Используй конвертеры BIN2SNA и пр.
    4) Какая страничная память, это же кросс-ассемблер! Такое только в ассемблере В.Медноногова замечал, больше нигде. Зато SjASM поддерживает вывод сразу в несколько файлов. Например:
    Код:
    	OUTPUT "PAGE5_2.BIN" ;кусок 5-ой и вся 2-ая
    	ORG $6000
    	...код....
    	OUTPUT "PAGE4.BIN" ;4-ая
    	ORG $C000
    	...код....
    	OUTPUT "PAGE6.BIN" ;6-ая
    	ORG $C000
    	...код....
    	OUTPUT "PAGE7.BIN" ;7-ая
    	ORG $C000
    	...код....
    Затем полученные файлы отдаёшь bin2sna или bin2trd или ...

    А вообще когда скачаешь и посмотришь readme.txt, тогда и ответишь на все свои вопросы.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  5. #4
    Activist
    Регистрация
    19.01.2005
    Сообщений
    291
    Благодарностей: 0

    По умолчанию

    Цитата Сообщение от aprisobal
    1) Что-то похожее есть:
    С виду то, что надо

    Цитата Сообщение от aprisobal
    2) Он не заточен под спекки. Используй конвертеры BIN2SNA и пр.
    4) Какая страничная память, это же кросс-ассемблер!
    Жаль... Когда же напишут кросс-ассемблер для Спекки c нормальным линковщиком?

    На Спектруме хоть Alasm есть. А на PC какие-то или сыроватые, или не для Спекки, а просто для Z80....

    Цитата Сообщение от aprisobal
    Зато SjASM поддерживает вывод сразу в несколько файлов. Например:
    Код:
    	OUTPUT "PAGE5_2.BIN" ;кусок 5-ой и вся 2-ая
    	ORG $6000
    	...код....
    	OUTPUT "PAGE4.BIN" ;4-ая
    	ORG $C000
    	...код....
    	OUTPUT "PAGE6.BIN" ;6-ая
    	ORG $C000
    	...код....
    	OUTPUT "PAGE7.BIN" ;7-ая
    	ORG $C000
    	...код....
    Затем полученные файлы отдаёшь bin2sna или bin2trd или ...
    А это уже интересно. Если ассемблер действительно хороший, то можно отдельный линковщик написать к нему (и под ленту, и под tr_dos, и с упаковкой, можно тот же BitBuster попробовать)

    Цитата Сообщение от aprisobal
    А вообще когда скачаешь и посмотришь readme.txt, тогда и ответишь на все свои вопросы.
    Скачал, завтра попробую свой PTxPlay под ним ассемблировать.

    ... Ay_Emul: THIS MELODY COMPOSED BY VETAL

  6. #5
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Благодарностей: 36

    По умолчанию

    Цитата Сообщение от Bulba
    А это уже интересно. Если ассемблер действительно хороший, то можно отдельный линковщик написать к нему (и под ленту, и под tr_dos, и с упаковкой, можно тот же BitBuster попробовать)
    Спрайт-генератор бы ещё
    А так работаю по такой схеме: текст программы редактирую в Crimson Editor (есть подсветка, настраиваются tools на горячие клавиши), компилирую в sjasm (на кнопке F10), линкую в bin2sna (на кнопке F11), запускаю в spectaculator (на кнопке F12) - благо он запускается только одной копией.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  7. #6
    Activist
    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Благодарностей: 36

    По умолчанию

    т.е. технология "3F".
    Сам исходник программы состоит из файлов(находятся в папке ASM): MAIN.asm, PAGE0.asm, PAGE1.asm, PAGE5_2.asm, PAGE3.asm, PAGE4.asm, PAGE6.asm, PAGE7.asm. В MAIN.asm находится следующее:
    Код:
    	INCLUDE "ASM\PAGE5_2.ASM"
    	INCLUDE "ASM\PAGE0.ASM"
    	INCLUDE "ASM\PAGE1.ASM"
    	INCLUDE "ASM\PAGE3.ASM"
    	INCLUDE "ASM\PAGE4.ASM"
    	INCLUDE "ASM\PAGE6.ASM"
    	INCLUDE "ASM\PAGE7.ASM"
    . В начале каждого файла стоит следующее:
    Код:
    	OUTPUT "BIN\PAGEх.BIN" ;где х - номер страницы
    	ORG $C000
    . В PAGE5_2.asm:
    Код:
    	OUTPUT "BIN\PAGE5_2.BIN"
    	ORG $6000
    т.е. вывод файлов осуществляется в папку BIN.
    SjASM запускаю с такими параметрами: sjasm.exe -ql -i. ASM\MAIN.asm. Этот асм генерит ещё и список всех меток.
    В BIN2SNA сую файл с следующим содержанием:
    Код:
    ;file
    FNAME "game.sna"
    PAGE 5
    ADDR $6000
    INCBIN bin\page5_2.bin
    PAGE 0
    ADDR $C000
    INCBIN bin\page0.bin
    PAGE 1
    ADDR $C000
    INCBIN bin\page1.bin
    PAGE 3
    ADDR $C000
    INCBIN bin\page3.bin
    PAGE 4
    ADDR $C000
    INCBIN bin\page4.bin
    PAGE 6
    ADDR $C000
    INCBIN bin\page6.bin
    PAGE 7
    ADDR $C000
    INCBIN bin\page7.bin
    ;
    7FFD $08
    ;params
    REGISTER PC $6000
    REGISTER SP $C000
    REGISTER IM 1
    На выходе получаем файл game.sna и запускаем в favourite эмуляторе.

    О как. В результате доступен удобный ПЦшный дебаггер, в котором можно подсчитать и такты и что угодно. Только подписей меток нет Так что условия для разработки на ПЦ есть и совсем не нужно слепиться в окошко 256х192.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  8. #7
    Activist
    Регистрация
    19.01.2005
    Адрес
    Planet Earth
    Сообщений
    407
    Благодарностей: 15

    По умолчанию

    SjASM под MSX точится У авторов SjASM и tniASM религиозные разногласия, и в пыле боя они гавешками (это мат? нет? дайте знать, буду писать "гаве$ками") вруг друга закидывают с головы до ног

  9. #8
    Junior
    Регистрация
    01.03.2005
    Адрес
    Бишкек
    Сообщений
    3
    Благодарностей: 0

    По умолчанию Дурной вопрос;-)

    хай народ!

    прошу прощения! может это звучит глупо но! в какую страницу код то писать? запись в маин и 5.2 выдает блак скриин. код рабочий, в эмуле кладова и спине пускался без проблем..............

  10. #9
    Activist
    Регистрация
    19.01.2005
    Сообщений
    291
    Благодарностей: 0

    Thumbs up

    Все, перехожу на SjASM! Решение окончательное и обжалованию не подлежит Перевести код из ZXASM (AIG) в SjASM оказалось проще простого - просто адаптировал описание структуры под другой стандарт и XH заменил на IXH. Ассемблер просто замечательный, а то у меня уже закралась даже мысль написать свой - теперь не нужно

    Единственное неудобство, к которому можно привыкнуть в течение 10 минут, это то, что сроки, не содержащие меток, должны начинаться с пробела или табуляции (непривычно некоторые директивы видеть не вначале строки).

    Огромное спасибо aprisobal'у и автору!

    ... Ay_Emul: Silent now...

  11. #10

    По умолчанию

    Цитата Сообщение от Bulba
    Все, перехожу на SjASM! Решение окончательное и обжалованию не подлежит
    Раз уж пошёл базар про кросс-асмы... Есть такой замечательный асмик - TASM [table assembler, не путать с поделками некроcовта]. К каждому процу ему нужна табличка с опкодами, которую он скушает и потом готов ассемблить всё, что угодно на этот проц =) Генерит правда в ihex, но написать hex2bin - дело 20 минут, если с перерывами на чай и кофэ %)

    Применительно к Z80 - можно вписать произвольные недок. команды (произвольные мнемоники, в смысле), IXL-XL-LX - как заблагорассудится или хоть всё в кучу, etc.

    Короче - чекайте сами.


    PS: Ищутся его (асма) сорцы - если кто ими обладает или знает где взять - плиз поделитесь со мной!
    Вложения Вложения

Страница 1 из 4 1234 ПоследняяПоследняя

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

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

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Хороший эмулятор
    от ian в разделе Эмуляторы
    Ответов: 13
    Последнее: 06.01.2006, 15:43
  2. ZX ассемблер (и не только?) с библиотеками
    от shade в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2005, 21:43
  3. Ответов: 12
    Последнее: 02.03.2005, 18:16

Ваши права

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