From: krw on 11 Sep 2008 18:05 In article <48C8E143.53B3C1AC(a)hotmail.com>, rabbitsfriendsandrelations(a)hotmail.com says... > > > 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 ? PLM51 and ASM51. > > 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. Of course it show the USED register banks after USING. It doesn't necessarily have those banks ENABLED in the PSW. -- Keith
From: Eeyore on 12 Sep 2008 04:34 krw wrote: > rabbitsfriendsandrelations(a)hotmail.com says... > > krw wrote: > > > rabbitsfriendsandrelations(a)hotmail.com says... > > > > 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. > > > > > > Try reading. I can't take the risk of bugs cropping up in > > > unsupported software. If there are no bugs in the compiler (don't > > > believe it) Windows will install them. > > > > Ir runs under DOS. > > ...assuming DOS still runs. You do like to take risks! What a silly comment. DOS is the only stable product ever to come from Microsoft. NO risks whatever plus the compile time on a modern PC is in the blink of an eyelid. Shame really since even with fast ATs it was time enough to go get a coffee. I can remember when applications NEVER crashed. Graham
From: Eeyore on 12 Sep 2008 04:42 krw wrote: > kensmith(a)rahul.net says... > > 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. > > Right, it doesn't actually point R0-7 to the appropriate hardware. Well, I can tell you it works or hundreds of thousands of products out there would be having awful problems. When developing code I use an issue number like 0.3 for beta releases. Then 1.x for production release etc. A major revision would take it 2.0 etc. One product we launched with a version 0.9 expecting *someone* to report a bug so we could be smug and then up it to 1.0 for production. But no-one ever did find a bug, so for its entire lifetime this product was shipped with version 0.9 software ! Makes me chuckle every time that does. Furthermore it even announced it on the VFD display. > > In PLM it most likely also results in a move into > > the PSW. > > Not that I remember, though I didn't use PLM/51 very long. I saw no > advantage over assembler, armed with suitable macros. Speed of writing code. Excellent readability, no need to track memory freed by temporary variables resulting in superb memory usage, you name it Graham
From: Eeyore on 12 Sep 2008 04:44 krw wrote: > rabbitsfriendsandrelations(a)hotmail.com says... > > 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 ? > > PLM51 and ASM51. > > > > 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. > > Of course it show the USED register banks after USING. It doesn't > necessarily have those banks ENABLED in the PSW. So how come it works then ? Graham
From: krw on 12 Sep 2008 07:35
In article <48C5F1C8.B3E845CE(a)hotmail.com>, rabbitsfriendsandrelations(a)hotmail.com says... > > > krw wrote: > > > rabbitsfriendsandrelations(a)hotmail.com says... > > > Joerg wrote: > > > > Eeyore wrote: > > > > > > > > > > And IIRC, the recent iterations of 8051 variants have improved the sleep etc > > > > > function. It used to be almost useless. > > > > > > > > It was not useless. I sucessfully used it in the early 90's and that one > > > > is still in production. Same code as the old code. > > > > > > Yeah, but back then is was DRAM, now it's static. You can rely on variables still > > > being there. Plus I think they introduced a 'snooze' mode. > > > > Nonsense. I never met an 8051 that used dynamic logic. > > RAM The original was NMOS. > > > The thing is tiny. Tiny, as in small number of gates (2.5K?). > How old is your data book ? Haven't got one. They got pitched two moves ago (maybe three). -- Keith |