Форум Эму-Россия
http://forum.emu-russia.net/

Ассемблер Sega
http://forum.emu-russia.net/viewtopic.php?f=214&t=5343
Страница 1 из 1

Автор:  Griever [ 16 мар 2014, 15:56 ]
Заголовок сообщения:  Ассемблер Sega

На днях потребовалось собрать буквально пару команд в машинный код, но возникли вопросы с обычным ассемблером для M68K:
Под рукой только Charles Doty, к которому нет документации, и приходится вслепую вбивать директивы и проверять ест их ассемблер или нет.
Пытаюсь прыгнуть из конца рома на оригинальный вектор RESET, но так как, даже несмотря на org $300000, ассемблер располагает команды в начале, а дальше добивает нулями, jmp получается короткий (4EF8 0216) вместо 4EF9 000216.
Подскажите, пожалуйста, есть ли у кого мануал от ассемблера или ткнете в эмулятор с инлайновым ассемблером в отладчике?

Автор:  GManiac [ 16 мар 2014, 20:45 ]
Заголовок сообщения:  Re: Ассемблер Sega

Это рухлядь.
Пользуйся ГНУ:
http://gnutoolchains.com/m68k-elf/
Или что то же самое, Ronetix m68k
http://download.ronetix.info/toolchains/coldfire/
Её тут советовали
https://www.google.ru/search?client=ope ... el=suggest

Я обычно использую готовый батник, чтобы собрать чисто асмовый код, без всяких Си и прочего. Вот такой:

m68k-elf-as.exe %1 -o %1.out -mcpu=68000 --register-prefix-optional
m68k-elf-ld.exe %1.out -o %1.o -e 0 -Tbss 0 -Tdata 0 -Ttext 0
m68k-elf-objcopy.exe %1.o %1.gen -O binary

Важные отличия между GCC и AT&T синтаксисом:
- 16-ричные числа начинаются с 0x
- директивы начинаются с точки, т.е. .org
В доках всё написано, но там много.

-- 16 мар 2014, 19:47 --

Тащемта, над ГНУ построен SDK от Стефана
http://gendev.spritesmind.net/forum/viewforum.php?f=19
(и ещё какой-то старый СДК для Си, который лежал на Зофаре), но он ориентирован на Си. А для сборки асма достаточно трёх файлов из моего батника.

-- 16 мар 2014, 19:51 --

Из хоть немного стоящих есть ещё snasm-68k и asm68k, но первый под ДОС, кажется.

Автор:  Griever [ 16 мар 2014, 21:15 ]
Заголовок сообщения:  Re: Ассемблер Sega

Сработало как нужно, спасибо большое!

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/