Re: Learning to use PICS
From: Sergio Masci (sergio_at_NO.SPAM.xcprod.com)
Date: 11/28/04
- Next message: John Smith: "Re: snubber resistor power rating?"
- Previous message: Pooh Bear: "Re: snubber resistor power rating?"
- In reply to: john jardine: "Re: Learning to use PICS"
- Next in thread: CBarn24050: "Re: Learning to use PICS"
- Reply: CBarn24050: "Re: Learning to use PICS"
- Messages sorted by: [ date ] [ thread ]
Date: Sun, 28 Nov 2004 03:06:06 -0000
john jardine <john@jjdesigns.fsnet.co.uk> wrote in message
news:coac45$hvg$1@newsg3.svr.pol.co.uk...
>
> "Sergio Masci" <sergio@NO.SPAM.xcprod.com> wrote in message
> news:41a89667$0$1067$db0fefd9@news.zen.co.uk...
>
> >[clip]
> >
> > The XCSB compiler will convert the following to just 6 machine code
> > instructions:
> >
> > proc inline set_bit(ubyte *addr, ubyte id)
> > *addr = *addr | (1 << id)
> > endproc
> >
> > proc inline clear_bit(ubyte *addr, ubyte id)
> > *addr = *addr & ~(1 << id)
> > endproc
> >
> > proc inline ubyte test_bit(ubyte *addr, ubyte id)
> > return (*addr & (1 << id) != 0)
> > endproc
> >
> > proc main()
> >
> > ubyte a, b
> >
> > if (test_bit(&a, 1) then
> > set_bit(&b, 2)
> > else
> > clear_bit(&b, 2)
> > endif
> > endproc
>
> Looks like "C" to me.
> I know this must be so, as I can't understand it :-).
> Yet I can easily read the 'Proton','CH-flash', 'iL_Bas16' etc Basics.
> regards
> john
It supports pointers like "C" but unlike many C compilers for the PIC it
doesn't generate a ton of code to build and pass the pointers and then
dereference them if it can determine the address at compile time. PEEK and
POKE would be more in keeping with other BASIC dialects but pointers allow
the programmer to give the compiler more information which in turn helps the
compiler trap silly errors and generate better code.
The reason I chose the above example is because it shows how the compiler
converts some very complex functionality into very tight code
Regards
Sergio Masci
http://www.xcprod.com/titan/XCSB - optimising PIC compiler
FREE for personal non-commercial use
- Next message: John Smith: "Re: snubber resistor power rating?"
- Previous message: Pooh Bear: "Re: snubber resistor power rating?"
- In reply to: john jardine: "Re: Learning to use PICS"
- Next in thread: CBarn24050: "Re: Learning to use PICS"
- Reply: CBarn24050: "Re: Learning to use PICS"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|