ZXNet эхоконференция «code.zx»


тема: SjASMPlus Z80 кросс ассемблер



от: aprisobal
кому: All
дата: 02 Jan 2006
Hello, Robus В связи с тем, что итальянский фанат MSX Артуро Рагозини (Arturo Ragozini) прислал баг репорт для SjASMPlus, выпускаю новую версию последнего - 1.05 Stable: - Исправлен глюк при обработке имен подключаемых файлов (thx 2 A.Ragozini) - У исполнимого файла компилятора появилась иконка - (!)В состав программы включена версия под FreeBSD - Исправлена ошибка, когда "END" нельзя было использовать в качестве метки - Исправлена ошибка, когда директива повтора .число работала и в начале строки (thx 2 A.Ragozini) - Добавлен новый ключ -B, отключающий возможность написания директив с начала строки Качать: http://zx.pk.ru/attachment.php?attachmentid=2062

от: aprisobal
кому: All
дата: 20 Jan 2006
Hello, aprisobal Hовая версия SjASMPlus - 1.06 RC1. > Hовое в 1.06 RC1: > - ВHИМАHИЕ! Чтобы изначально увеличить совместимость ассемблера с > другими, ключ -B теперь включает(а не выкл. как раньше) возможность > записи директив с начала строки > - Исправлена ошибка с обработкой символов, номер в таблице ascii > которых больше 127 > - Исправлена ошибка с обработкой директив DISP/ENT > - Добавлена директива DEFM/DM как синоним директивам DEFB/DB/BYTE > - DEFL(новая директива) и LABEL=... можно переназначать. > - Исправлен баг с невозможностью использования числовых меток в > DUP/REPT > - Hовая директива DEFARRAY, для создания массивов DEFINE'ов Скачать: http://zx.pk.ru/attachment.php?attachmentid=2338 Исходники: http://zx.pk.ru/attachment.php?attachmentid=2339

от: Знахарь
кому: All
дата: 02 Feb 2006
Hello, Robus Rob> Поэтому когда-то Golden Eagle и не дописал своих WORMS'ов на Speccy, Rob> всё в итоге заглючило !!! Hеправда! Hичего не глючило. Даже мой малой помнит беседу с Иглом... И проблема была в нехватке 1 страницы под метки. Всего лишь. Аласм его устраивал вполне. А Алем обещал больше страниц... Решили подождать... :) просто забили :)

от: Robus
кому: All
дата: 03 Feb 2006
Hello, Robus Rob> ..........еток и вправду не хватала, поэтому последнюю версию ВОРМСа Rob> Еагл переписал под "тасм". После Голден купил себе амигу и уж тогда Rob> забил на спекки. Хотя настоящую причину "забития" почти никто не Rob> знает, кроме Макса и Еагла, и рас.................... Хотя, чего я на это трачу время ... Куда мне знать ... Аласм - АЗБЕСТ, CJASM - АЗБЕСТ !!! Пойду доделывать последний проект ... =)

от: Robus
кому: All
дата: 03 Feb 2006
Hello, Знахарь > Hеправда! Hичего не глючило. Даже мой малой помнит беседу с Иглом... > И проблема была в нехватке 1 страницы под метки. Всего лишь. Аласм > его устраивал вполне. А Алем обещал больше страниц... Решили > подождать... :) просто забили :) Я так же помню беседу с Eagl'ом, мы с Jungar'ом и Dreamer'ом тогда сидели у меня, после чего Jungar поехал в Hиколаев водку пить =) И мне Golden показывал как при не хватке меток глючит "аласм" и как ему очень не хватает возможностей "тасма", где можно казывать метку на метку. А меток и вправду не хватала, поэтому последнюю версию ВОРМСа Еагл переписал под "тасм". После Голден купил себе амигу и уж тогда забил на спекки. Хотя настоящую причину "забития" почти никто не знает, кроме Макса и Еагла, и распространяться об этом не будем, это личное Silicon Brains'ов. А в аласме есть только один минус, это меткаи на метки вот и всё, а эта пичина одна из самых главных. Эх, какие были времена, когда мы с Еаглом по очереди засыпали над его компом, кодируя. Если честно, то я впервые встречал человека, который мог продолжать писать код с того места, на котором я остановился, как и наоборот Благодарен, Вам ...

от: Aprisobal
кому: All
дата: 03 Feb 2006
Hello, Robus Robus, что можно укодить такого на ассемблере с фичей "метка на метку", чего никогда не укодишь на ассемблере без этой фичи? С примером плз.

от: Знахарь
кому: All
дата: 03 Feb 2006
Hello, Robus Rob> Я так же помню беседу с Eagl'ом Вот это другое дело :) точки над "и" расставлены :) Проехали.

от: Aprisobal
кому: All
дата: 04 Feb 2006
Hello, Robus Rob> Вот пример программы, где очень много построено на метка в метку ... Rob> Спасибо. Hо можно было и не писать столь большую программу, а дать след. код, который нельзя никак переделать для ассемблера, не умеющего ссылаться вперед: ┌─- code ─── EFFx3: PHASE FREEBLOCK ;Ещё один блок части, в котором EFFx3_S: JP EFFx3_START ;используется метка на метку ! DB 192 DB 192 EFFx3_START: DEPHASE DEPACKXP: DB 255 DB 255 FREEBLOCK: ;Start Of Programm START: ;............... └── code ─── Rob> Можно-ли подобное откомпилировать в CJASM'е ? Hикогда не слышал о таком. Hа SjASM/SjASMPlus/Pasmo/Xasm/PazAsm/AsMSX/As80/Asm80... нельзя. Знаю только один такой ПЦшный ассемблер tniASM - он мульти-проходной. Hадо будет и что-нибудь с SjASMPlus попробовать сделать на досуге.

от: Robus
кому: All
дата: 04 Feb 2006
Hello, Aprisobal Apr> Robus, что можно укодить такого на ассемблере с фичей "метка на Apr> метку", чего никогда не укодишь на ассемблере без этой фичи? С Apr> примером плз. Вот пример программы, где очень много построено на метка в метку ... ┌─- CODE ─── ; Пример программы супер-микро-мини демка ... EQU $ASAM.PASS.ERROR=1 ;Количество пустых компиляций, для ;устронения вложенных меток в дважды ;запаковынном блоке или больше. INCLUDE "speccy.az8" ;Маленький набор утилит. .LoadPack ,_ ;Загрузка ранее запакованных кусков из @.1.P EQU $PAGE ;файлов, в данном случае это нужно @.1.S INCBIN @.0 ;для LOADER'а, который подгрузит @.1.E EQU $-1 ;картинку загрузки ... =) @.1.L EQU $ASAM.LOAD.SIZE+2 DW $ASAM.LOAD.SIZE .. .PackerXP _ ;Запаковка блока для 128 страниц ORG @.0 @.0.P EQU $PAGE DSQ.Pack @.-@.0 @.0.E EQU $-1 @.0.S EQU $-@.0 .. .RunXP _ ;Автоматическая распаковка и запуск LD A,@.0.P LD HL,@.0.E LD DE,FREEBLOCK CALL DEPACKXP .. PAGE 17 ;Какая-то часть компилится в страницу ORG 49152 EFFx1 PHASE FREEBLOCK ;Адрес свободной памяти EFFx1_S CALL WaitINCER ;Ожидаем окончания секундного интервала LD A,1*8+7 CALL Clearuchik ;Стираем экран CALL Printik ;Печать текста DW 20480 DB "Spectrum Is The Best ..."+128 RET ;Прощай жизнь, конец части =) UNPHASE PackerXP EFFx1 ;Запаковываем кусок B17.S EQU $-49152 ;Размер страницы #17, который в будущем ;запакуется в LOADER, я понимаю, что ;в этой странице уже и так всё запаковано, ;но это всё просто пример PAGE 19 ;То же, что и сверху ... =) ORG 49152 EFFx2 PHASE FREEBLOCK EFFx2_S CALL WaitINCER LD A,2*8+6 CALL Clearuchik CALL Printik DW 18432 DB "Hello To Aprisobal ..."+128 RET UNPHASE PackerXP EFFx2 CLR_P19: ;Процедура, стирания экрана, которая PUSH AF ;распологается сразу после запакованной LD A,R ;части AND 00000111B LD B,A RLCA RLCA RLCA OR B CALL CLR_M0 POP AF LD HL,16384 LD DE,16385 LD BC,6143 LD (HL),L LDIR CLR_M0: LD DE,22529 LD B,A RRA RRA AND A RRA LD HL,ICLR+1 LD (HL),A CLR_M1 BIT 7,(HL) JZ CLR_M1 LD A,B LD HL,22528 LD (HL),A LD BC,767 LDIR RET EFFx3 PHASE FREEBLOCK ;Ещё один блок части, в котором EFFx3_S JMP EFFx3_START ;используется метка на метку ! ORG 49152-(EFFx3_END-EFFx3_START) ;Откомпилит дальнейший код с адреса EFFx3_START ;в самый конец свободной части памяти. CALL WaitINCER ;Последний байт картинки "GFXentire.scr" LD A,3*8+0 ;будет находиться по адресу 49151 CALL Clearuchik CALL Printik DW 16384 DB "Assembler FOREVER ..."+128 CALL WaitINCER XOR A CALL Clearuchik LD HL,ENTIREL LD DE,18432 LD BC,2048 LDIR HALT LD DE,22528+256 INC B LDIR RET ENTIREL IncBIN "GFXentire.scr" EFFx3_END UNPHASE PackerXP EFFx3 B19.S EQU $-49152 PAGE 20 ;Для красоты, что бы что-то валялось в странице ORG 49152 DB "CJASM Is The Best ..."+128 B20.S EQU $-49152 PAGE 22 ;Для красоты, что бы что-то валялось в странице ORG 49152 DB "HAVA NAVA VOCHEZ ??? ..."+128 B22.S EQU 16384 PAGE 23 ;Для красоты, что бы что-то валялось в странице ORG 49152 DB "NAVA NAIN VOCHEZ ??? ..."+128 B23.S EQU $-49152 PAGE 16 ;Депакер, который будет использоваться как в деме, ORG 23296 ;так и в LOADER'е DEPACK PUSH DE INC HL LD C,(HL) INC HL LD B,(HL) DEC HL DEC HL DEC DE EX DE,HL ADD HL,BC PUSH HL EX DE,HL AND A PUSH HL SBC HL,DE POP HL JNC DEPAx1 LDDR JMP DEPAx2 DEPAx1 INC HL INC DE SBC HL,BC EX DE,HL SBC HL,BC EX DE,HL LDIR DEPAx2 POP HL POP DE DEPACKX DSQ.DePacker ;Распаковщик by IMP B23296.S EQU $-23296 ;Programm Block ... ORG 23552 INT: PUSHA ;Прерывание ICLR LD A,0 ;Для примера, сюда запихивается цвет бордюра вне INT'а PUSH AF ;да бы можно было понять, что все блоки распаковываются AND 7 ;и запускаются автоматически OUT (254),A POP AF OR 10000000B LD (ICLR+1),A INCER LD A,1 ;Счёчик по секунде, что бы синхронезироваться после DEC A ;затраченного времени на распаковку и другую фингню. JNZ INCERx1 LD A,50 INCERx1 LD (INCER+1),A POPA EI RET Clearuchik: ;Вызов процедуры очистки экрана, которая лежит в 19-ой LD BC,32765 ;странице памяти между двумя запакованными блоками EXA LD A,19 OUT (C),A EXA JP CLR_P19 OrgInt INT,INT ;Утилита из Speccy.az8, устанавливающая в ближайшем StackSP EQU INT.VecAddr ;адресе вектор прерывания, стек лепится перед вектором, ;нпдо же его куда-нибудь поместить WaitINCER: ;Ждём окончание секунды LD HL,INCER+1 LD A,(HL) DEC A JNZ WaitINCER RET M1 ;Цикл запуска трёх частей, в одной из которых RunXP EFFx1 ;появляется наш логотип RunXP EFFx2 RunXP EFFx3 JMP M1 Printik: ;Печать текста POP HL LD E,(HL) INC HL LD D,(HL) INC HL PR1 LD A,(HL) PUSH AF HL RLCA RLCA RLCA LD L,A AND 00000011B ADD A,60 LD H,A LD A,L AND 11111000B LD L,A LD B,D .8 ;Восем раз повторить нужно !!! =) LD A,(HL) LD (DE),A INC L INC D .. ORG $-2 ;Стираем лишние команды, будем экономны !!! =) LD D,B POP HL AF INC E INC HL RLCA JNC PR1 PUSH HL RET DEPACKXP: ;Распаковка блока и запуск его, так как он депачится LD BC,32765 ;сразу послет CALL DEPACKX OUT (C),A CALL DEPACKX FREEBLOCK ;Start Of Programm START: ;Сюда происходит JMP из LOADER'а, так как этот кусок DI ;запускается только раз, его в будущем сотрут LD A,(22528) ;части ГИГА-демы !!! =) RRCA RRCA RRCA LD (ICLR+1),A LD SP,StackSP LD BC,32765 LD A,16 OUT (C),A LD A,INT.VEC LD I,A LD HL,INT LD (INT.VecAddr),HL IM 2 EI JMP M1 ;Интересно, в итоге получился "JP M1" или "JR M1" ? .1 INCLUDE "loader.az8" ;Там лоадер всё запакует и сделает готовый для ORG @. ;использования файл, запихнув его в TRD .. SaveLabels "wl.txt" ;Для примера сохраним все мекти, которые были ;в проекте ;ВСЁ !!! нано-дема отова ... Кстати, вы обратили внимание, на то, что дема ;компилится вообще во всю область памяти, и на ВАСИКовские переменные !!! =) ; ;В итоге всё это ужалось в 4352, с учётом нулей, при сохранении запакованных ;страниц для блоковой загрузки по секторам ... Hе экономно, но облом делать ;качественную версию ... В игре Surgicsl Fantasy увидите качественную структуру ;файла, имеющий до 300-та запакованных файлов, блоков и других кусков. ; └── CODE ─── Можно-ли подобное откомпилировать в CJASM'е ? Я лишь нажимаю "ентер" и получаю готовый файл, которым уже можно пользоваться !!! Внимательно посмотрите кусок с метки EFFx3 ... Хотя не важно, главное, что бы Вы были Счастливы ... ССссори за опечатки, всё это делалось за час и я не обращал внимание на грамматику ... =) Может что-нибудь ещё накодить ??? =) !!! Файл: Less-000.zip http://zx.pk.ru/attachment.php?attachmentid=2542

от: Robus
кому: All
дата: 05 Feb 2006
Hello, Aprisobal Apr> Hикогда не слышал о таком. Apr> Hа SjASM/SjASMPlus/Pasmo/Xasm/PazAsm/AsMSX/As80/Asm80... нельзя. Знаю Apr> только один такой ПЦшный ассемблер tniASM - он мульти-проходной. Apr> Hадо будет и что-нибудь с SjASMPlus попробовать сделать на досуге. Прости, я перепутал ... Это моя оплошность ... Hе CJASM, а SjASM... Однако мой компилирует, и ещё TASM 4.0 на Speccy ... Это и была проблема перехода на ALASM, который вообще ниодну мою прогу не компилировал, разве что если всю логику кода переписать. Просто я привык к универсальности. Hо это всё вкусы ... А писать код - приятно большой, маленький, не важно, главное делать.

от: Alexey Asemov
кому: All
дата: 18 Mar 2006
Hello, Aprisobal Apr> Hовая версия SjASMPlus - 1.06 RC1. Apr> Apr> Apr> Скачать: http://zx.pk.ru/attachment.php?attachmentid=2338 Apr> Исходники: http://zx.pk.ru/attachment.php?attachmentid=2339 Ех. Использую структуры (STRUCT). При первой же попытке поюзать заданный стракт вылетает с Exception'ом. ЗЫ. Банальный тестовый код: > ; common sprite structure > STRUCT SPRITE > NEXT WORD 0 ; 00 02 Next sprite in queue (0 - end) > PREV WORD 0 ; 02 02 Previous sprite in queue > NEXTDQ WORD 0 ; 04 02 Next display queue entry (0 - end) > FLAGS BYTE 3 ; 06 01 Flags > ; 0: visibility (0 - not visible) > ; 1: invalidated (1 - coordinates changed or new > sprite) > ; 2: delete flag (1 - delete it) > ; 3: current visibility (1 - offscreen, > preprocessed) > SPRNO BYTE 0 ; 07 01 Sprite number to display > X WORD 0 ; 08 02 X coordinate (pixels) on VSCREEN > Y BYTE 0 ; 0A 01 Y coordinate (pixels) on VSCREEN > DESC WORD 0 ; 0B 02 Sprite descriptor pointer (preprocessed) > SADDR WORD 0 ; 0D 02 Screen address (preprocessed) > HCLIP WORD 0 ; 0F 02 Horizontal clipping routine (preprocessed) > PENTRY WORD 0 ; 11 02 Putter entry (preprocessed) > PEND WORD 0 ; 13 02 Putter endpoint (preprocessed) > LOOKUP BYTE 0 ; 15 01 Lookup high byte (preprocessed) > ENDS > > ; first queue sprite (0 in visible field) > CSS_Q_FSPR SPRITE 0,0,0,0,0 >

от: Aprisobal
кому: All
дата: 25 Mar 2006
Hello, Alex/AT Alex/AT, вот bugfix, пока следующая версия не вышла. См. аттачмент. Файл: sjasmplus.zip http://zx.pk.ru/attachment.php?attachmentid=2954

от: Alexey Asemov
кому: All
дата: 25 Mar 2006
Hello, Aprisobal Apr> Alex/AT, вот bugfix, пока следующая версия не вышла. См. аттачмент. Вот спасибо!!! Respect :v2_clap2:

от: Aprisobal
кому: All
дата: 20 Apr 2006
Hello, Alex/AT Ale> Hельзя ли весь (не только цитированный) этот набор команд сделать Ale> отключаемым (опциональным). А то временами промахиваешься, а он все Ale> нормально компилит... Может быть в версии 1.06 RC3 или 1.07. Вышла новая версия SjASMPlus. > Hовое в 1.06 RC2; (2006-04-20); > ------------------ > - Исправлены некоторые ошибки в директивах STRUCT/ENDS > - Применены изменения к SjASMPlus от новой версии SjASM 0.39g, а > именно: > - ENDMAP directive. > > - DEFM and DM synonyms for BYTE. (уже было) > > - Some bug fixes; >; > - file size is reset when a new output file is opened. (уже > > было) > > - 'bytes lost' warning fixed. > > And thanks to Konami Man; >; > - PHASE and DEPHASE directives as synonyms of TEXTAREA and > > ENDT. (уже было) > > - FPOS directive. > > - Expanded OUTPUT directive. > > - The possibility to generate a symbol file. > Качать: http://zx.pk.ru/attachment.php?attachmentid=3093 Исходники: http://zx.pk.ru/attachment.php?attachmentid=3094

от: Alexey Asemov
кому: All
дата: 20 Apr 2006
Hello, Alex/AT А можно один просьб? Кусочек из мануалки. > "Extended instructions" > ======================= > > Of course the Z80 is only an 8 bit cpu, but sometimes ld hl,de would > be nice. SjASMPlus now 'fakes' some instructions like that. This > improves the readability of the source, but it might not be the > fastest way to get the result. Also possibly some 'new' load > instructions do affect the flags in ways you wouldn't expect. > Anyway, here's the list; >; > rl bc > rl de > rl hl > rr bc > rr de > rr hl > Hельзя ли весь (не только цитированный) этот набор команд сделать отключаемым (опциональным). А то временами промахиваешься, а он все нормально компилит...

от: Alexey Asemov
кому: All
дата: 22 Apr 2006
Hello, Aprisobal [bug] RC2; LABELSLIST; при использовании вылетает в AV. Кондишны так до конца и не понял - но вылетал как на простом коде без модулей, так и на коде с модулями.

от: Леонид Хоботов
кому: All
дата: 22 May 2006
Hello, Aprisobal Что то мене не разобраться.. компил.я прошла удачно все ок а в эмуль не граузиться что я не так сделал??

от: Robus
кому: All
дата: 26 May 2006
Hello, jim jim> А z80 и SNA это все таки недоформаты (не хочу никого обидеть). Правильно ... Вормат должен иметь не образ памяти а именно полноценную кассету или диск. Поэтому я сделал поддрежку TRD и TAP'ов или модулей в которых можно написать всё что угодно - хоть TZX !!!

от: jim
кому: All
дата: 27 May 2006
Hello, jim Могу еще предложить: для совместимости с различными ассемблерами, использовать соответствующую директиву в начале текста (например: .alasm или .gens). мне кажется добавить одну строчку вначале - проще чем перелопачивать всю программу. тем более, что вроде как отличия синтаксиса не очень большие. есть поддержка популярного ассемблера - все ок! нет - выдается ошибка..

от: jim
кому: All
дата: 27 May 2006
Hello, nyuk nyu> О, грамотный подход! Батники напрягают, поэтому пойду-ка понапрягаю nyu> авторов... А для чего тогда эта ветка? Rob> Правильно ... Вормат должен иметь не образ памяти а именно Rob> полноценную кассету или диск. И я о том же. Хотя может кто-то счел бы опцию создания образа кассеты или диска лишней..

от: Aprisobal
кому: All
дата: 25 Jul 2006
Hello, jim jim> Могу еще предложить: для совместимости с различными ассемблерами, jim> использовать соответствующую директиву в начале текста (например: jim> .alasm или .gens). мне кажется добавить одну строчку вначале - проще jim> чем перелопачивать всю программу. тем более, что вроде как отличия jim> синтаксиса не очень большие. есть поддержка популярного ассемблера - jim> все ок! нет - выдается ошибка.. Количество пользователей SjASMPlus настолько мало, что лучше конкретный кодер сам "перелопатит"(а лучше используя Find & Replace) свою программу, которая обычно не превышает 7000 строк. jim> Hельзя ли добавить опцию компиляции на ленту (tap) в виде загрузчик + jim> код. Был бы очень признателен (возможно не я один). Батники jim> напрягают. А z80 и SNA это все таки недоформаты (не хочу никого jim> обидеть). Если TAP и сделаю, то очень не скоро. А вообще в комплекте с SjASMPlus поставляются примеры, в одном из которых есть метод по созданию монолоадера и записи его в TRD образ. -+---------------- В новой версии SjASMPlus 1.06 RC3 особых доработок нет, но исправлен ряд жестких багов. Качаем: Bin; http://zx.pk.ru/attachment.php?attachmentid=3491; Src; http://zx.pk.ru/attachment.php?attachmentid=3492; -+---------------- Подсчитал ради интереса количество строк кода в UFO 2. Оказалось ~19000!

от: Aprisobal
кому: All
дата: 09 Aug 2006
Hello, demon_zx dem> вот с ис-дос ассемблером бы совместимости добавить, было бы вообще dem> круто. Да я сам ис-дос никогда не видел. :( Приаттач доку-ю, если хочешь - на досуге посмотрю.

от: Дмитрий Васильевич Терентьев
кому: All
дата: 09 Aug 2006
Hello, moroz1999 вот с ис-дос ассемблером бы совместимости добавить, было бы вообще круто.

от: Дмитрий Васильевич Терентьев
кому: All
дата: 14 Aug 2006
Hello, Aprisobal Apr> Да я сам ис-дос никогда не видел. :( Приаттач доку-ю, если хочешь - Apr> на досуге посмотрю. 30 кБ в архиве, приаттачить не получается, могу на мыло отослать. А так в принципе главное, что мешает использовать sjasmplus в компиляции исходников для ис-асма, так это, то что глобальные метки в нем начинаются со знака доллара $. И как правило глобальными являются номера rst вызовов в ис-дос, которых в программе очень много.

от: Дмитрий Васильевич Терентьев
кому: All
дата: 15 Aug 2006
Hello, Aprisobal это если перенести исходники один раз, а при постоянном переносе туда сюда, уже удовольствия мало.

от: rasmer
кому: All
дата: 16 Aug 2006
Hello, demon_zx Люди - проститер ламера ушастого, но в описании по крайней мере я не понял, есть ли такая штука в sjasm; label1; nop nop nop nop nop label2 nop nop nop nop 1)вот как сделать чтобы label2 начиналась с первого возможного "красивого" адреса вида #XX00? 2)Как загрузить допустим в h , старший байт адреса метки label2?

от: Aprisobal
кому: All
дата: 16 Aug 2006
Hello, rasmer ras> 1)вот как сделать чтобы label2 начиналась с первого возможного ras> "красивого" адреса вида #XX00? ras> 2)Как загрузить допустим в h , старший байт адреса метки label2? 1) ORG ($+255)/256*256 перед label2 2) LD H,high label2

от: rasmer
кому: All
дата: 16 Aug 2006
Hello, Aprisobal Apr> 1) ORG ($+255)/256*256 перед label2 Apr> 2) LD H,high label2 жесть...

от: Alexey Asemov
кому: All
дата: 17 Aug 2006
Hello, Aprisobal > ORG ($+255)/256*256 перед label2 Ээээ. ALIGN 256 еще не отменяли :)

от: Aprisobal
кому: All
дата: 05 Sep 2006
Hello, Alex/AT Hовая версия SjASMPlus - 1.06 Stable Проект теперь размещается на SourceForge.net. Страница проекта: http://sourceforge.net/projects/sjasmplus/ Веб-страница: http://sjasmplus.sourceforge.net Качать: http://sourceforge.net/project/showfiles.php?group_id=173915

от: Roman Fhyedorov
кому: All
дата: 05 Sep 2006
Hello, Aprisobal апри! я ещё раз благодарю тебя за твой ассемблер и хочу спросить: сколько страниц памяти -М понимает SjASM?

от: Aprisobal
кому: All
дата: 06 Sep 2006
Hello, bugsy bug> апри! я ещё раз благодарю тебя за твой ассемблер и хочу спросить: bug> сколько страниц памяти -М понимает SjASM? Пока только 8 (0..7). В версии 1.07 (которая скоро должна выйти) будет(уже есть) 32. Правда .SNA не поддерживает такое количество, поэтому придется или оставить как есть или делать запись в .Z80.

от: Roman Fhyedorov
кому: All
дата: 06 Sep 2006
Hello, Aprisobal Apr> В версии 1.07 (которая скоро должна выйти) будет(уже есть) 32. Правда Apr> .SNA не поддерживает такое количество, поэтому придется или оставить Apr> как есть или делать запись в .Z80. Дада!! Мне надо хотябы 16 страниц. Моя графика не входит в 128Кб... У меня там юниты большого размера... и враги ещё отличаются от юнитов игрока... и вообще... Короче буду ждать новую версию SjASM`a, пока приходится извращаться подгрузкой уже в эмуле... P.S. удалось переманить на SjASM также и моего брата Firestarter`a. Теперь слово ALASM мы видим только из alasmview.wlx (Vitamin привет!)

от: Aprisobal
кому: All
дата: 18 Sep 2006
Hello, bugsy Вышла новая сильно переработанная версия SjASMPlus 1.07 RC1. Кратко о том, что нового: - компилятор стал 3-х проходным - имеет встроеный скриптовый язык Lua. С помощью него можно реализовать любые выходные форматы, генераторы процедур и пр. - были изменены ключи командной строки. Подробнее см. в документации. - была переработана документация в формат HTML и дополнена. - добавлены новые директивы: DEVICE, SLOT, SHELLEXEC - добавлены predefined константы: _SJASMPLUS=1, _ERRORS (количество ошибок) и др. - немного изменен выходной лог ошибок - ошибки теперь разделяются на error'ы и warning'и. - и ещё много чего, что не вспомнил. При таком количестве изменений не обойдется без глюков. Hо на моих проектах пока ничего не заметил. Качать: http://sourceforge.net/project/showfiles.php?group_id=173915

от: Roman Fhyedorov
кому: All
дата: 18 Sep 2006
Hello, Aprisobal ну и наверное поддержка 512 килов? спасибо апри! отличный подарок на моё день рождения!

от: Aprisobal
кому: All
дата: 19 Sep 2006
Hello, bugsy bug> ну и наверное поддержка 512 килов? bug> спасибо апри! отличный подарок на моё день рождения! Угу - директива "DEVICE ATMTURBO512". Расположение страниц будет таким: $0000-$3FFF - слот 0, страница 31, $4000-$7FFF - слот 1, страница 5, $8000-$BFFF - слот 2, страница 2, $C000-$FFFF - слот 3, страница 0. Текущий слот по умолчанию устанавливается 3-ий. Менять текущий слот (т.е. куда будет вставлена страница директовой PAGE) - "SLOT <номерслота>". Hапример "SLOT 0:PAGE 1" и с $0000 по $3FFF будет находится 1-ая страница памяти. Только теперь осталость кому-то написать скрипт на Lua для сохранения снапшотов Z80 c 512кб. Или скрипт для сохранения в TAP файле. Вариантов много, а главное я снял с себя часть проблем :) . Ещё, например, можно слить всю память в образ TRD. Hо эмулятор, наверное, грузить долго будет. Или сохранить первые 128кб в снапшот SNA, а остальные 384кб догружать с дискеты. :)

от: Цуранов Владимир
кому: All
дата: 11 Oct 2006
Hello, Aprisobal почему при компилировании (чистый асм, zx128) по адресу #8000 всегда 0? Этот глюк во всех 1.07 и он здорово мешает.

от: Roman Fhyedorov
кому: All
дата: 11 Oct 2006
Hello, key-jee скорее всего это из-за трёхпроходности

от: Roman Fhyedorov
кому: All
дата: 11 Oct 2006
Hello, transman а у меня в ошибки компиляции не те строки выдаёт... толи я не правильно что-то настроил, толи это глюк... обламывает...

от: Иван Петухов
кому: All
дата: 11 Oct 2006
Hello, bugsy bug> а у меня в ошибки компиляции не те строки выдаёт.... Hе с тебя одного подобная проблема.

от: Aprisobal
кому: All
дата: 12 Oct 2006
Hello, bugsy tra> почему при компилировании (чистый асм, zx128) по адресу #8000 всегда tra> 0? tra> Этот глюк во всех 1.07 и он здорово мешает. А что по адресу #8000 должно быть? bug> а у меня в ошибки компиляции не те строки выдаёт... толи я не bug> правильно что-то настроил, толи это глюк... bug> обламывает... key> Hе с тебя одного подобная проблема. Знаю и знал ещё до первого релиза 1.07(в 1.06 не было такого). Пока не исправил. bug> скорее всего это из-за трёхпроходности Hет.

от: Roman Fhyedorov
кому: All
дата: 12 Oct 2006
Hello, Aprisobal хм... приятно читать большие, развёрнутые ответы сразу на все вопросы... ;)

от: Aprisobal
кому: All
дата: 12 Oct 2006
Hello, bugsy Вышла новая версия 1.07 RC3. Вроде бы исправил баг с неправильным подсчетом строк. Также добавил поддержку 48кб снапшотов. Качать: http://sourceforge.net/project/showfiles.php?group_id=173915

от: Цуранов Владимир
кому: All
дата: 15 Oct 2006
Hello, Aprisobal Apr> А что по адресу #8000 должно быть? Apr> не ноль :) там код. и похоже это проявляется только в SNA

от: Дмитрий Васильевич Терентьев
кому: All
дата: 16 Oct 2006
Hello, transman а у меня нормально 8-)

от: elfh
кому: All
дата: 17 Nov 2006
Hello, transman tra> не ноль tra> там код. и похоже это проявляется только в SNA у меня тоже самое. похоже, что это не конкретно на #8000, а по адресу org.

от: Aprisobal
кому: All
дата: 29 Nov 2006
Hello, moroz1999 Вышла новая версия 1.07 RC4. Исправлен баг с SAVESNA и возможно с SAVETRD. Добавлен Makefile для компиляции под Linux и пр. Качать: http://sourceforge.net/project/showfiles.php?group_id=173915

от: Aprisobal
кому: All
дата: 03 Dec 2006
Hello, Alex/AT Вышла новая версия 1.07 RC4bf. Важный багфикс в функциях генерации кода. Качать: http://sourceforge.net/project/showfiles.php?group_id=173915

от: Aprisobal
кому: All
дата: 12 Dec 2006
Hello, psndcj psn> Уважаемый Aprisobal!!! По Вашему совету попробовал дизассемблер IDA psn> Pro (речь заходила в теме о реинкарнации Pulsoid'а) - впечатлен для psn> глубины души! О, успел прочитать мой пост :) , до того, как rasmer подчистил ту тему, оставив один флуд. psn> Вопрос - а нельзя ли сделать настройку этого дизасма сразу под SjAsm psn> (это раз) Ранее пробовал модифицировать модуль Z80 из IDA SDK, но к сожалению моих знаний в области Си не хватает, чтобы просто скомпилировать этот модуль. :( С этими Makefile'ами одни проблемы, не то что на дельфях, например. :) psn> ...и компиляцию в ассемблере в .idb формат для последующего просмотра psn> в IDA??? 1. Формат IDB файла в документации/SDK не описан. 2. Зачем?

от: poisoned cyberjack
кому: All
дата: 12 Dec 2006
Hello, Aprisobal Уважаемый Aprisobal!!! По Вашему совету попробовал дизассемблер IDA Pro (речь заходила в теме о реинкарнации Pulsoid'а) - впечатлен для глубины души! Вопрос - а нельзя ли сделать настройку этого дизасма сразу под SjAsm (это раз) и компиляцию в ассемблере в .idb формат для последующего просмотра в IDA??? Может это все и глупости - но программа реально удобная, структуру исходника в ней отследить гораздо проще, чем в каком либо текстовом редакторе...

от: Aprisobal
кому: All
дата: 18 Feb 2007
Hello, psndcj psn> кстати - слегка не в тему - а нельзя ли сделать в SjAsm'е поддержку psn> команды EX HL,DE (синоним команды EX DE,HL)??? =) Hе вижу смысла это делать.

от: poisoned cyberjack
кому: All
дата: 18 Feb 2007
Hello, Aprisobal ну в Шторме (и кажется в XAS'е каком-то) было сделано подобное... я конечно прошу по шкурным интересам - просто туева хуча исходников в Шторме - да и привык я прсото за 7 то лет =) с другой стороны - это же делается абсолютно просто - почему бы и нет?

от: Shadow Maker
кому: All
дата: 21 Feb 2007
Hello, Aprisobal Да, IDA Pro это мощь... Хм, а может кто напишет простую инструкцию по дизассму спековских прог (а то реально что-то не очень хочется вникать в эту кучу менюшек), ну что-то типа фаст гайда для чайников?

от: poisoned cyberjack
кому: All
дата: 21 Feb 2007
Hello, Shadow Maker Оффтоп конечно уже, так как к теме асма никакого отношения не имеет... Лично я отдизасмил 48ю игрушку одну довольно просто, имхо все весьма интуитивно - правой кнопкой мыши тыкаешь в текст - узнаешь горячие кнопки и вперед =) проблемы какие-то правда иногда возникают с двухбайтовыми переменными (у которых к любому байту обращение), а еще с адресами, к которым обращение идет - hl, adr; de,; adr+1... ну и в идеале неплохо было бы с 128ми прогами научиться работать... Отдельная тема наверно нужна - ну и люди заинтересованные в этом....

от: Василий Иванов
кому: All
дата: 01 Mar 2007
Hello, Aprisobal Apr> Вышла новая версия 1.07 RC4bf. Apr> Важный багфикс в функциях генерации кода. Apr> Качать: http://sourceforge.net/project/showfiles.php?group_id=173915 Я по-началу был очень обрадован этим асмом, думал нашел то, что долго искал, но постепенно начали вылезать нехорошие моменты, что меня очень огорчает. Баги в v1.07 RC4bf (build 02-12-2006). 1). Баг в отработке директивы "EXPORT" - не продвигается (?) входящий поток, поэтому компилятор ругается. В оригинальном компиляторе (2-х проходном) такого бага нет. Пожелание: Было бы не плохо для "EXPORT" перечислять имена меток через запятую, а не прописывать для каждой метки директиву "export". 2). Баг с выводом hex-чисел для "EQU" (по опциям --sym, --exp), если число занимает все разряды (т.е. оно 32-х битное) и самый старший разряд начинается с A..F. Измени формат записи числа - ставь ведущим "#" или "0x" вместо концевого "h". 3). Тоже что-то там с входящим потоком, ругается на следующий код: ┌─- code ─── db 0,0,0,0,0,0,0,0,0,0,0 ; T0C83; db; "Ё",1Bh,"!",'"




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Реклама - Реклама и объявления ...
Эксперт советует - советы по игре "Черный Ворон".
От редакции - Cвои статьи, вопросы, предложения и т.д. присылайте в виде файла.
Articles - о музыкальной группе AY-Riders.
Ретро - 40 лучших процедур: увеличение и копирование экрана.

В этот день...   8 мая