Разыскиваю исходные тексты ZASM 3.10. Попытки связаться с авторами, а также с Tim Kelly, не увенчались успехом. :(
Вид для печати
Разыскиваю исходные тексты ZASM 3.10. Попытки связаться с авторами, а также с Tim Kelly, не увенчались успехом. :(
Интересно как же ты пытался? и какое отношение к ZAsm'у имеет Tim Kelly?Цитата:
Сообщение от rajdee
Опа, сам автор ZASM появился здесь! В первую очередь хочу сказать большое спасибо за самую удобную среду разработки для ZX-Spectrum! Все мои программы (Real Commander, Technodrom и много других) были написаны на ZASM 3.0 и 3.10. Никакие там Alasm'ы с примитивным интерфейсом меня не прельщают (хотя компилятор там бесспорно хорош).
Если у Вас вдруг появится желание сделать новую версию, то хотелось бы иметь возможность присваивания значений и выражений меткам (как в Alasm). Также помнится был глюк с невозможностью вложения условных макросов (мне в общем никогда и не надо было такое).
ZASM рулит. Напрягает только две вещи:
неясно, как использовать недокументированные команды (сейчас просто пишу типа "DB #DD" итд)
нельзя скомпилить в файл (требуется, когда прога рассчитана на неудобные для компилятора или оболочки области памяти, например - экранной области. или я чего-то прото не знаю?)
make "blabla",#0000 насколько я помню там был (не писал в ZASMе с 98 года)Цитата:
Сообщение от moroz1999
Три: ошибки в реализации директив условной компиляции и жуткие ограниченияЦитата:
Сообщение от moroz1999
на макросы всё сводят на нет. (невозможно писать рекурсивные макросы)
Точно, что не знаешь.Цитата:
Сообщение от moroz1999
Ба! Вот этого я не ожидал :)
Пытался связаться c Константином Афендиковым, по адресу 2:465/69.39, но безуспешно. Других адресов не нашел :(Цитата:
Сообщение от Rubts0FF
2 марта 1999 года, в конференции zx.spectrum, Tim Kelly написал следующее:Цитата:
Сообщение от Rubts0FF
P.S. Т.к. возможности связаться с авторами не было, я использовал все доступные варианты ;).Цитата:
Сообщение от TimKelly
Для этого мануалы и существуют :)
Из недокументированных команд поддерживаются:Цитата:
Сообщение от moroz1999
- команды SLI register, например: sli a
- команды с половинками индексных регистров IX и IY, обозначаемыми как
XH,XL, YH,YL, например: ld a,xh : xor yl
- out (c),0
Выбирай:Цитата:
Сообщение от moroz1999
Код:--- Директива MAKE ---
~~~~~~~~~~~~~~
Директива MAKE определяет помещение объектного кода на диск.
Синтаксис:
<Метка> make "A:FileName.C",<выражение>
<Метка> - необязательный параметр;
"A:FileName.C" - имя создаваемого файла <выражение>, Адрес с которого
будет ассемблироваться файл. В памяти объектный код не создается. Программа
может иметь несколько директив MAKE .
Директива MAKE не может находится в файлах, подключаемых на компиляцию
директивой include.
Действие директивы make отменяет директива org.
Пример:
org #8000
Start include "a:main.asm"
Levels make "E:level_1 .C",0c000h
include "a:level1_1.asm"
include "a:level1_2.asm"
make "E:level_2 .C",0c000h
include "a:level2_1.asm"
include "a:level2_2.asm"
и т.д.
--- Директивы PHASE & UNPHASE ---
~~~~~~~~~~~~~~~~~~~~~~~~~
Директивы PHASE и UNPHASE изменяюттекущий адрес компиляции, неизменяя при
этом адрес размещения объектного кода.
Синтаксис:
<Метка> PHASE <выражение>
<Метка>, необязательный параметр;
Вычисленное <выражение> определит адрес смещения. UNPHASE устанавливает
адрес компиляции равным адресу размещения объектного кода или, в случае
вложенности, адрес предыдущего phase.
Допускается 5-ти кратная вложенность директивы phase.
Внимание !!!
При большей вложенности разрушится часть компилятора.
Пример:
ResMem equ #5b00
org #6000
ld hl,Prog:ld de,#4000
ld bc,Len:push de:ldir:ret
Prog phase #4000
ld hl,Resident:ld de,ResMem
ld bc,ResLen:ldir
..............
call ResMem
.............
Resident phase ResMem
.............
unphase
ResLen equ $-Resident
unphase
Len equ $-Prog
если опустить второй unphase, метка Len примет неверное значение.
Отключить phas'ированое можно и ди- рективами ORG, MAKE.
Костя, увы, забросил не только Спекку но и программинг :(. А адреса в документации как к ZAsm'у v3.00 так и 3.10. Так-же вызывается по EXT-Цитата:
Сообщение от rajdee
SS+I из редактора.
Писать не мешки ворочать ;).Цитата:
Сообщение от rajdee
Всем спасибо за спасибо! Мне и ответить нечего. Кто-то доки все-же читает. А между прочем выход ZAsm'а 3.10 затянулся практически на год из за отсутствия этих самых доков :(.
Да, макросы в ZAsm'е далеки от идеала. Причина в том что мы сами тогда макросами не пользовались (их небыло). Ориентировались на GENS:). Меня неустраивает следующее: Нельзя передать стринг в качестве параметра, нельзя использовать инструкции Z80, при вложенном макросе проблема с параметрами. инструкция IFP дейсвует на параметры вообще а хотелось бы на любой указанный.