From: Groepaz (groepaz_at_gmx.net)
Date: 2000-05-20 22:10:11
hy ppl! am i just blind or is there really no possibility to repeat code blocks (eg in macros) ?! i thought it was a quite common thing to have macros like eg .MACRO MAKEBLOCKS A1,A2,A3,A4,A5 .FOR I=A1,I-A2,I=I+1 .FOR II=0,II-(A3-1),II=II+1 .BYTE A4 .NEXT .BYTE A5 .NEXT .ENDMACRO (this is like i used it in 6502tasm) thing is, that i was converting some old sources to ca65 syntax and found that almost all of them use macros like this ;=P naturally rewriting them all to work without these would be pain-in-the ass so my question is, what would be the way to do it in ca65 ? ;=P oh, and one completely different thing... i found the defaults that ld65 uses for MEMORY and SEGMENT attributes a little confusing (say, not quite what one would expect). *maybe* this is even a linker bug or i am just doing sth wrong ;=P like, i used a linker-file like: MEMORY { STARTADR: start = $07fe size = $02 SCREENRAM1: start = $0800 size = $0400 SCREENRAM2: start = $0c00 size = $0400 CODERAM: start = $2000 size = $2000 } SEGMENTS { START: load = STARTADR type = rw; SCREEN1: load = SCREENRAM1 type = rw SCREEN2: load = SCREENRAM2 type = rw CODE: load = CODERAM type = rw } ... the code was basically structured like: .segment "START" .db $00,$08 .segment "SCREEN1" .incbin "scrn1.bin" .segment "SCREEN2" .incbin "scrn2.bin" .segment "CODE" .include "bogus.s" ... what one would expect from the above is, an output file like this: $0800- scrn1.bin $0c00- scrn2.bin $2000- assembled "bogus.s" and that even, regardless the size of the scrn1/scrn2.bin files (as long as they dont exceed their segment size). but instead, the linker puts them seamlessly one after the other, since "fill=no" is the default value. maybe this is conveniant for use with compilers, but i think "fill=yes" would be more like what you would want when hand-writing asm code ;=P just my 10 cents ... etc hehe gpz ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo_at_musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2001-12-14 22:05:36 CET