Forum
ASM features EQU and DEFM - Printable Version

+- Forum (https://www.boriel.com/forum)
+-- Forum: Compilers and Computer Languages (https://www.boriel.com/forum/forumdisplay.php?fid=12)
+--- Forum: ZX Basic Compiler (https://www.boriel.com/forum/forumdisplay.php?fid=11)
+---- Forum: Wishlist (https://www.boriel.com/forum/forumdisplay.php?fid=14)
+---- Thread: ASM features EQU and DEFM (/showthread.php?tid=395)



ASM features EQU and DEFM - LCD - 11-01-2011

Hi Boriel. I just adapted a ASM routine for key-redefining from WOS Forum to ZXBC for my next game, and noticed following:
EQU is not supported?
DEFM supports only Strings, but not mixed bytes+strings in one line like: DEFM 14,10,5,"Down",255
I adapted the lines by lacerating them to DEFB,DEFM and DEFB again, but maybe it would be a good idea to support bytes and Strings with DEFM, like other assemblers do.


Re: ASM features EQU and DEFM - boriel - 11-01-2011

LCD Wrote:Hi Boriel. I just adapted a ASM routine for key-redefining from WOS Forum to ZXBC for my next game, and noticed following:
EQU is not supported?

EQU is supported. It should be used this way (if I recall correctly).

Code:
Asm
Label EQU 5 * OtherLabel  + 3 ; Complex expressions allowed
End Asm
LCD Wrote:DEFM supports only Strings, but not mixed bytes+strings in one line like: DEFM 14,10,5,"Down",255
I adapted the lines by lacerating them to DEFB,DEFM and DEFB again, but maybe it would be a good idea to support bytes and Strings with DEFM, like other assemblers do.
Ok, I will try to add that in 1.2.9


Re: ASM features EQU and DEFM - LCD - 11-01-2011

boriel Wrote:
LCD Wrote:Hi Boriel. I just adapted a ASM routine for key-redefining from WOS Forum to ZXBC for my next game, and noticed following:
EQU is not supported?

EQU is supported. It should be used this way (if I recall correctly).

Code:
Asm
Label EQU 5 * OtherLabel  + 3 ; Complex expressions allowed
End Asm
I had problems with the code from here:
<!-- m --><a class="postlink" href="http://www.worldofspectrum.org/forums/showpost.php?p=572689&postcount=237">http://www.worldofspectrum.org/forums/s ... tcount=237</a><!-- m -->
Code:
asm
; ---------------------- CONST -------------------
#line 3
BORDCR:
            EQU 23624
ATTR_P:
            EQU 23693
ROM_CLS:
        EQU 3435
CHAN_OPEN:
        EQU 5633
CC_INK:
            EQU 16
CC_PAPER:
        EQU 17
CC_AT:
            EQU 22
CC_OVER:
            EQU 21
end asm
This rsults in "Unexpected token 'EQU' [EQU]". Maybe a bug?


Re: ASM features EQU and DEFM - boriel - 11-01-2011

ZXasm does not support that syntax:
Code:
LABEL:
   EQU XXXXX
LABEL2:
   EQU YYYYY

Use this instead:
Code:
LABEL EQU XXXXX
LABEL2 EQU YYYYY



Re: ASM features EQU and DEFM - LCD - 11-01-2011

boriel Wrote:ZXasm does not support that syntax:
Code:
LABEL:
   EQU XXXXX
LABEL2:
   EQU YYYYY

Use this instead:
Code:
LABEL EQU XXXXX
LABEL2 EQU YYYYY
I understand, OK. Big thanks!