From: Eeyore on


krw wrote:

> rabbitsfriendsandrelations(a)hotmail.com says...
> > krw wrote:
> > > rabbitsfriendsandrelations(a)hotmail.com says...
> > > > krw wrote:
> > > >
> > > > > You don't do subroutines or interrupts?
> > > >
> > > > declare procedure XYZ interrupt(1) using 1; (register bank 1) MAIN defaults > >
> > to register bank zero.
> > > >
> > > > code
> > > >
> > > > end;
> > > >
> > > > For example. The interrupt number defines the int source.
> > >
> > > Return address? USING only declares the register bank, it doesn't
> > > set it.
> >
> > Uh ? Bloody well does unless you have a different understanding of 'does' to me.
>
> Not when I was using Intel's software.

Which software ?


> USING was only a directive
> to get the compiler to point R0-7 to the right place. It didn't
> actually load the pointers selecting the bank.

PL/M does it just fine. The compiler output shows you the register banks used so you can check.

Graham

From: Eeyore on


MooseFET wrote:

> Eeyore wrote:
> > MooseFET wrote:
> > > krw <k...(a)att.bizzzzzzzzzz> wrote:
> > > > rabbitsfriendsandrelati...(a)hotmail.com says...
> > > > > krw wrote:
> >
> > > > > > You don't do subroutines or interrupts?
> >
> > > > > declare procedure XYZ interrupt(1) using 1; (register bank 1) MAIN > > > >
> defaults to register bank zero.
> >
> > > > > code
> >
> > > > > end;
> >
> > > > > For example. The interrupt number defines the int source.
> >
> > > > Return address? USING only declares the register bank, it doesn't
> > > > set it.
> >
> > > I think PLM always loads the PSW in an interrupt routine.
> >
> > That sounds right to me. It gets into the interrupt routine quite quickly.
> >
> > > It has been a while since I looked at the resulting code form PLM but it rarely
> > > contains outright mistakes.
> >
> > Never seen one.
> >
> > > It sometimes does an unneeded operation or two.
> >
> > Possibly. I've timed a moderately complex interrupt that included some 16 bit math and
> > compares and it could complete it in 80us with a 12MHz cystal. That's the 6/12 cycle > original
> 80C51 design too. Use a new one @ 33MHz and the 2 cycle operations and it > would be 5 us or so.
>
> Why stop at 33MHz. Use the Silabs 100MIPS 8051F120 and you'd be done
> before you knew you'd started.
>
> BTW: You really only get about 50 to 75 MIPS out of them.

That'll be good enough for anything I'm likely to need. I managed some nice reverbs on a 10 ? MIPS
DSP.

Graham


From: Eeyore on


MooseFET wrote:

> krw <k...(a)att.bizzzzzzzzzz> wrote:
> > rabbitsfriendsandrelati...(a)hotmail.com says...
> > > krw wrote:
> > > > rabbitsfriendsandrelati...(a)hotmail.com says...
> > > > > krw wrote:
> >
> > > > > > You don't do subroutines or interrupts?
> >
> > > > > declare procedure XYZ interrupt(1) using 1; (register bank 1) MAIN > > > >
> defaults to register bank zero.
> >
> > > > > code
> >
> > > > > end;
> >
> > > > > For example. The interrupt number defines the int source.
> >
> > > > Return address? USING only declares the register bank, it doesn't
> > > > set it.
> >
> > > Uh ? Bloody well does unless you have a different understanding of 'does' to me.
> >
> > Not when I was using Intel's software. USING was only a directive
> > to get the compiler to point R0-7 to the right place. It didn't
> > actually load the pointers selecting the bank.
>
> You remember wrong. USING tells the compiler what to assume is in the
> PSW.4, PSW.3 bits. In PLM it most likely also results in a move into
> the PSW.
>
> In the ASM51, you could run with no declared bank by not putting a
> USING into the code. This is handy when you want to make code that is
> bank independent.
>
> My 32 bit math library is bank independent so it can be used in
> interrupts etc.

But you only used ASM51 not PL/M51 ?

Graham

From: Eeyore on


Robert Baer wrote:

> Eeyore wrote:
> > krw wrote:
> >>rabbitsfriendsandrelations(a)hotmail.com says...
> >>>krw wrote:
> >>>
> >>>>There is nothing wrong with PL/M, other than there is hasn't been
> >>>>support for it for a quarter century.
> >>>
> >>>What would it need support for ?
> >>
> >>Bugs (the OS variety, if nothing else). I don't use orphanware on
> >>new projects. I don't need to add risk to projects.
> >
> > Which bugs would those be ? The product is so mature it's untrue.
>
> What did Atmel say about their AFU of that part?

You mean re the OP's question ? We still have no idea what it is do we ?

Graham


From: MooseFET on
On Sep 11, 2:16 am, Eeyore <rabbitsfriendsandrelati...(a)hotmail.com>
wrote:
> MooseFET wrote:
> > Eeyore wrote:
> > > MooseFET wrote:
> > > > krw <k...(a)att.bizzzzzzzzzz> wrote:
> > > > > rabbitsfriendsandrelati...(a)hotmail.com says...
> > > > > > krw wrote:
>
> > > > > > > You don't do subroutines or interrupts?
>
> > > > > > declare procedure XYZ interrupt(1) using 1;         (register bank 1) MAIN > > > >
> > defaults to register bank zero.
>
> > > > > > code
>
> > > > > > end;
>
> > > > > > For example. The interrupt number defines the int source.
>
> > > > > Return address?  USING only declares the register bank, it doesn't
> > > > > set it.
>
> > > > I think PLM always loads the PSW in an interrupt routine.
>
> > > That sounds right to me. It gets into the interrupt routine quite quickly.
>
> > > > It has been a while since I looked at the resulting code form PLM but it rarely
> > > > contains outright mistakes.
>
> > > Never seen one.
>
> > > >  It sometimes does an unneeded operation or two.
>
> > > Possibly. I've timed a moderately complex interrupt that included some 16 bit math and
> > > compares and it could complete it in 80us with a 12MHz cystal. That's the 6/12 cycle > original
> > 80C51 design too. Use a new one @ 33MHz and the 2 cycle operations and it > would be 5 us or so.
>
> > Why stop at 33MHz.  Use the Silabs 100MIPS 8051F120 and you'd be done
> > before you knew you'd started.
>
> > BTW:  You really only get about 50 to 75 MIPS out of them.
>
> That'll be good enough for anything I'm likely to need. I managed some nice reverbs on a 10 ? MIPS
> DSP.

I have to work on faster speeds from time to time. The signals are in
the 100s of KHz.

I'd tell you what it is but ....



>
> Graham