Господа! Просьба сильно не пинайте за кривость и недоделанность, так как писал изначально для себя, но вдруг кому ещё понравится :-)
В общем вот мой новый компилятор для ZX Spectrum: ZX ASM.
Вид для печати
Господа! Просьба сильно не пинайте за кривость и недоделанность, так как писал изначально для себя, но вдруг кому ещё понравится :-)
В общем вот мой новый компилятор для ZX Spectrum: ZX ASM.
Как это понять?
Вложение 61053
P.S. Не терпит табуляции.
Ну тогда держите следующие замечания:
Хорошо бы показывать номера строк или статус строку с координатами курсора.
Сделать контекстную замену.
Директива ORG не понимает шестнадцатеричные значения.
В JP, CALL и т.д. по метке надо завершать ее двоеточием, как в самой метке, что на мой взгляд не правильно.
Не распознаются директивы DEFM, DEFW.
Пока хватит.
Глубокое имхо:
Думаю, имеет смысл напрячься именно на функционал редактора. То есть подсветка, номера строк, фолдинг, хелп(?) да много всего. А работу компилятора предоставить компилятору (SjASM, Pasmo,...).
- - - Добавлено - - -
Панель меток с переходом к метке и быстрым предпросмотром куска кода у метки...
вроде как уже изобретено:
http://www.desdes.com/products/oldfiles/zeus.htm
всё записал) подсветку синтаксиса и прочие радости редактора я и сам планирую сделать, как будет время
SGO, а компилятор же отдельно можешь сделать?
а в чо собирает? а как параметры задать в чо собирать?
вот это ересь.Цитата:
#region Директивы компилятора
if (Str[0] == "org") //ORG
{
if (List.Count > 0) throw new ArgumentException("Директива ORG может использоваться только в начале программы");
ParamTest(Str, "ORG", 2);
Compiler.StartAdress = ReadNum(Str[1]);
CurAdress = Compiler.StartAdress;
return;
бывает даже вот такой вот фикус пикус
и его надо собиратьКод:dup 8
ld a,(hl)
ld (de),a
inc l
inc d
edup
org $-2