Re: A92: Fargo Preprocessor
[Prev][Next][Index][Thread]
Re: A92: Fargo Preprocessor
That's a real good idea!!
>
> I'm going to make a Fargo preprocessor, in the next weeks. I just wanted
> to
> ask you for suggestions/comments about it. The idea is the following:
> All assembly sourcetexts, that need to be preprocessed are named .XAS .
> So adding a line to the begin of fargo.bat like >>prefargo %1.xas
> %1.asm<<
> will preprocess the program befor compilation. (At the end you could add
>
> del %1.asm) The preprocessor will do the following:
>
> * remove tabulators and spaces after commas, so you can write
> >>move.w d0, d1<< instead of >>move.w d0,d1<<
> * C - like comments (/*...*/ and //...)
> * C - like macros, with some changes, this will give you the
> possibility to
> write some of these things:
>
> #define loop(block) {
> local lable // makes looplable local within the macro
> label:
> block
> bra label
> }
>
> #define ifeq(block) {
> local label
> bne label // if equal flag is not set don't do the
> block
> block
> label:
> }
>
> _main:
> lea LCD_MEM, a0
> move.w d7, -(a7)
> clr.w d7
> loop ({
> clr.l (a0)+
> addq.w #1, d7
> cmp.w d7, #959
> ifeq ({move.w (a7)+,d7 ; bra end})
> })
> end:
> rts
>
> of course this is just a silly example, but it shows you, what will be
> possible.
> You could also write for - loop - macros, or anything else. {...} is to
> pass
> arguments, that can contain commas or linebreaks. ; is to force a
> linebreak, when
> preprocessing. (to write many commands on one line)
>
References: