Maker Pro
Maker Pro

89C51ED2

M

MooseFET

Jan 1, 1970
0
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 ....
 
M

MooseFET

Jan 1, 1970
0
But you only used ASM51 not PL/M51 ?

I have used PLM51 just enough to be able to say I've used it. I used
PLM-80 and PLM-86 a great deal in the past. The language is almost
exactly the same among them.

In 8051 land, the only project I have seen that used PLM51 was
abandoned. It did not result in a product. This was a fault of
things other than the choice of the language.
 
E

Eeyore

Jan 1, 1970
0
MooseFET said:
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 ....

Audio's not demanding in that way. I've been known to refer to it as 'moving DC'.

Graham
 
E

Eeyore

Jan 1, 1970
0
MooseFET said:
I have used PLM51 just enough to be able to say I've used it. I used
PLM-80 and PLM-86 a great deal in the past. The language is almost
exactly the same among them.

Absolutely. That was the whole point of it. And the associated OS was CP/M.

In 8051 land, the only project I have seen that used PLM51 was
abandoned. It did not result in a product. This was a fault of
things other than the choice of the language.

Yes, well I've seen some shocking ASM51 too. With comments like "this seems to work". How some
people manange to migrate from company to company leaving a trail of disasters behing them never
fails to amaze me.

I can happily say I fixed TWO runaways. Both became serious commercial successes after my
intervention. One was primarily an analog fix, the other code (and coding method - a change to
finite state machine from a flow chart that resembled Medusa's locks).

Graham
 
K

krw

Jan 1, 1970
0
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.
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.
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.

As long as R0-7 isn't used there is no problem.
 
K

krw

Jan 1, 1970
0
Which software ?

PLM51 and ASM51.
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.
 
E

Eeyore

Jan 1, 1970
0
krw said:
[email protected] says...

...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
 
E

Eeyore

Jan 1, 1970
0
krw said:
[email protected] says...

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.

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
 
K

krw

Jan 1, 1970
0
Did you ever try PL/M ?

Yes, but saw no point in continuing (I did quite a bit with PLM86).
The macro assembler was just as powerful, and easier to fit code
into the weird x51 architecture..
 
E

Eeyore

Jan 1, 1970
0
krw said:
[email protected] says...

Tiny, as in small number of gates (2.5K?).


Haven't got one. They got pitched two moves ago (maybe three).

That's a bugger isn't it ? It can give so much useful background. I got given my 8051 /
8048 handbook as a present in 1985 and it was a few years old then.

Graham
 
E

Eeyore

Jan 1, 1970
0
krw said:
[email protected] says...

Yes, but saw no point in continuing (I did quite a bit with PLM86).
The macro assembler was just as powerful, and easier to fit code
into the weird x51 architecture..

The only response I can offer is that PL/M51 seems a doddle to me. It was just so nice
to use. It had aspects of a HLL mixed with near ASM commands. Can't beat that in my
book.

It's a treat IMHO.

Graham
 
M

MooseFET

Jan 1, 1970
0
As long as R0-7 isn't used there is no problem.

You can use R0-7 if you never absolutely address them as AR0-7. Since
all instructions that use the registers, use the bank selection, it
works nicely. The 64 / 32 = 32,32 divide uses every register. R0
points to the 64 bit area and R1 points to the 32 bit area. The
others hold counters and saved pointers etc.
 
K

krw

Jan 1, 1970
0
What a silly comment. DOS is the only stable product ever to come from Microsoft.

You got a USB driver for DOS?
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.

Irrelevant. That was then.
 
K

krw

Jan 1, 1970
0
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.



Speed of writing code. Excellent readability, no need to track memory freed by temporary variables
resulting in superb memory usage, you name it

No speed advantage at all, for a half-competent assembly programmer.
 
E

Eeyore

Jan 1, 1970
0
krw said:
[email protected] says...

resulting in superb memory usage, you name it

No speed advantage at all, for a half-competent assembly programmer.

You'd trust a kid out of Uni to be able to do that ?

Let me tell you, there's a guy I know whose previous job was technical director of Pace microsystems
(he's technical director somewhere else now) , the satellite and cable receiver box people.

Because I was fairly heavily loaded he was asked as a then sideline (before Pace) to write the code for
an app we had. He wanted to use one his favourite Mitsubishi uCs and write it in assembler. I TOLD him
it would be an 80C51 and PL/M. At the end of the project he said "I understand why now".

Graham
 
Top