From: Eeyore on 11 Sep 2008 05:13 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 11 Sep 2008 05:16 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 11 Sep 2008 05:17 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 11 Sep 2008 05:20 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 11 Sep 2008 10:42
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 |