Boriel Basic Forum
ASM features EQU and DEFM - Printable Version

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



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

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 - 2011-11-01

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 - 2011-11-01

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 - 2011-11-01

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 - 2011-11-01

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!