какой посоветуете ассемблер z80 для командной строки, чтобы умел генерировать intel hex на выходе?
какой посоветуете ассемблер z80 для командной строки, чтобы умел генерировать intel hex на выходе?
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
ZXMAK(17.11.2024)
а как в нем директивы использовать?
Код:; test.asm org #0x4000 call #0xcafe ;ld (iy+0),l ;djnz $ retЕсть ли еще какие-то варианты, которые классический синтаксис Z80 асма понимают?Код:$ sdasz80 -o build/test.rel test.asm test.asm:2: Error: <q> missing or improper operators, terminators, or delimiters removing build/test.rel
Последний раз редактировалось ZXMAK; 17.11.2024 в 07:23.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
sjasm наверно. Но мне нравится м80.) А потом, что мешает перегнать бин в хекс?
https://shop-pdp.net/ashtml/asxs02.htm#org
.org не пробовал. Там назначением адресов по идее линкер занимается.
Без понятия.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Дело же не хексе, как я понимаю. Основные фишки в самом трансляторе. Умеет ли IRP/IRPC, REPT, ну и макросредства должны быть на уровне. По крайней мере, это важно для удобства. Опять таки, если писать чуток и не изгаляться, то без разницы. Простых ассемблеров просто куча.)
В коде несколько блоков памяти в разных местах. В один bin файл такое не сохранишь.
Пока использую z80asm который в репозитории debian. Но он только в bin сохраняет и кучу файлов ненужных генерирует. Причем нельзя укзать в какую папку их писать, приходится делать вот так:
Хотя можно было одним файлом это все сразу в hex скомпилить и смещения для сборки hex файла не нужно было бы отдельно задавать - сразу в исходнике из org брать.Код:#!/bin/bash set -e # Exit on any error cd "$(dirname "${BASH_SOURCE[0]:-$0}")" mkdir -p ./build && cd build z80asm -o jetpac-hack1.bin ../jetpac-hack.asm z80asm -o jetpac-hack2.bin ../jetpac-hack2.asm z80asm -o jetpac-hack3.bin ../jetpac-hack3.asm srec_cat jetpac-hack1.bin -binary -offset 0x7345 \ jetpac-hack2.bin -binary -offset 0x737d \ jetpac-hack3.bin -binary -offset 0x739c \ -o jetpac-hack.hex -Intel rm jetpac-hack?.bin
С другой стороны undoc инструкции вроде ld (ix+offset),l поддерживает. sdasz80 не понимает, да и с синтаксисом у sdasz80 чтото совсем плохо.
Последний раз редактировалось ZXMAK; 18.11.2024 в 19:03.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Heavy on the disasm
Eric and the disasm
Mask 3: Venom strikes disasm
Bard's disasm
Допустим первый исходник генерирует 50-100 блоков с разными адресами. Повреждать память между этими блоками нельзя.
Если сохранять это всё в 50-100 бинарников, как предлагаете собирать все это в хекс? Ведь для каждого бинарника нужно распарсить из результатов компиляиции начальный адрес.
При компиляции в hex на выходе просто имеем hex файл который содержи все эти блоки с нужными адресами. Никаких дополнительных телодвижений не нужно.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)