Разыскиваю исходные тексты ZASM 3.10. Попытки связаться с авторами, а также с Tim Kelly, не увенчались успехом. :(
Разыскиваю исходные тексты ZASM 3.10. Попытки связаться с авторами, а также с Tim Kelly, не увенчались успехом. :(
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Интересно как же ты пытался? и какое отношение к 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
Для этого мануалы и существуют
Из недокументированных команд поддерживаются:Сообщение от 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.
Да у меня новыми версиями 20гб-винт забит.Сообщение от Pawel
огромное спасибо, буду юзать, а то выкручивался такими методами, как shadow monitor'ом тормознуть в нужный момент итд.!
Тогда будем с нетерпением ждать новую версию.Сообщение от Rubts0FF
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)