Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   SjASMPlus Z80 кросс ассемблер (http://zx-pk.ru/showthread.php?t=447)

Shadow Maker 22nd August 2012 11:04

Выложил билд с поддержкой bpx.ini от последнего Unreal.
В синтаксис setbp добавлена возможность ставить на r w x (ну как в unreal в общем - на чтение, запись и вызов) - теперь оно setbp адрес,[r/w/x]. По умолчанию ставится на вызов, если не указывать.

Код частично утащен у thims'а :)

http://zx.logtech.ru/sjasmplus.exe

Shadow Maker 22nd August 2012 12:49

Там какой-то мегакод для этих едупов, похоже нет вложенной проверки едупов и вообще я там половину не понял :) Например также не работает вот такое:

Code:

dup 56
 ldi

 ld sp,56
 add hl,sp
 ld sp,hl
 dup 28
 dec l
 ld d,(hl)
 dec l
 ld e,(hl)
 push de
 edup

то есть если пропущен едуп тоже ошибок не показывает. В общем постараюсь разобраться на следующей неделе. Надо книжки по си++ почитать :)

PS - Если есть какие-то еще билды sjasmplus, у которых можно утащить что-то полезное - говорите, не стесняйтесь, заберем, внедрим.

psb 22nd August 2012 13:03

я просто мимо проходил...

никто не желает написать статью в вики "быстрый старт с SjASM"? про батники, шаблон кода и т.п... чтобы взял, попробовал и сразу начал работать...

drbars 23rd August 2012 01:10

Quote:

Originally Posted by Shadow Maker (Post 534490)
Как так, у меня работает, а у тебя нет? Давай сурс, будем разбираться.

Разобрался. EVO-DOS v0.3 почему-то командой LIST не показывает строку автозапуска.

jerri 23rd August 2012 11:50

Shadow Maker, там еще недоработки есть - теже вложенные ИФы

Shadow Maker 23rd August 2012 13:16

Там вообще беда, если какой-то из необходимых параметров отсутствует - например PHASE сделал, а он ждет еще и UNPHASE, при этом в свежей версии он крашится почему-то...

drbars 24th August 2012 12:43

В TASM'е чтобы создать таблицу в коде с кратного 256 адреса писалось вот так:

Quote:

FONTAD EQU $&#FF00+256
DEFS FONTAD-$
В SJASME'е придумал только так:

Quote:

FONTAD EQU (($/256)+1)*256
ORG FONTAD
Ещё например в ALASM'е было удобное обращение к старшей ячейке адреса у метки:

Quote:

LD H,'METKA
где H=#C0

ORG #C000
METKA DEFS #10

Есть какие-нибудь удобные способы в SJASM?

NovaStorm 24th August 2012 13:05

ALIGN например.

esl 15th September 2012 22:09

Нужна помощь зала !

можно ли внутри макро сформировать метку ?

такое не работает

Code:

        macro  AAAAA _label_
        _label_ EQU $+1
                ld      hl,0
                ld      a,h
                or      l
                call    nz,xxxx
        endm

        AAAAA zz00
        AAAAA zz01

говорит
error: Unrecognized instruction: zz00 EQU $+1

и еще вопрос
в m80 в свое время можно было сгенеирить имя метки из параметра макроса и строки
можно ли тут такое ?

что то типа (в деталях может и ошибаюсь но типа того)

Code:

        macro  AAAAA _suffix_
        LABEL&_suffix_:
                ld      hl,0
                ld      a,h
                or      l
                call    nz,xxxx
        endm

        AAAAA zz00
        AAAAA zz01



---------- Post added at 20:09 ---------- Previous post was at 19:40 ----------

вроде выкрутился, но как-то странно :(

Code:

        macro  AAAAA _label_
;                ld      hl,0
              db      21h
_label_:
                dw    0
                ld      a,h
                or      l
                call    nz,xxxx
        endm

        AAAAA zz00
        AAAAA zz01

т.е. _label_ (то куда подставится имя) должна быть в начале строки
правда по LST понять что произошло совсем невозможно
в нем даже упоминания про определение новой метки нет.
вопрос а КАК ПРАВИЛЬНО

esl 17th September 2012 02:29

Quote:

Originally Posted by Keeper (Post 540208)
...
Если в начале строки - метка, иначе - все остальное... в LST нет упоминания из-за того что компилятор не считает "LABEL&_suffix_:" меткой

в LST нет упоминания когда в начале строки
_label_:

и как-то оно мягко скажем не явно и не прозрачно.


а про "LABEL&_suffix_:" я спрашивал, можно ли ....


All times are GMT +4. The time now is 21:53.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.