[time-nuts] favorite microcontroller module?
cfharris at erols.com
Thu Feb 21 00:03:11 EST 2008
Mike S wrote:
> At 09:23 PM 2/20/2008, Chuck Harris wrote...
>> I suppose that you are bothered by:
>> X = 3000
>> Because that is the same as mov x,3000 in virtually all of the early
> How do you figure that? The verb is in a different place. Perhaps you
> are arguing that the mnemonic should be "R mov M"?
I'm not arguing anything at all. Assembler in the form of
mov x,3000 meaning x=3000 has been around from the very beginning.
It precedes intel's choice by easily 30 years.
label mnemonic argument, argument
came about because it requires next to no storage when writing an
assembler...something that was once of crucial importance. It is
also very easy to parse, something that was also very important on
early machines, including the 8008, 8080, and 8086.
If it bothers you a lot, write a couple of literals that replace
load with mov, and then you can have:
load x, 3000
Which is what zilog did with the Z80.
Or use one of the universal assemblers, or better yet, C.
The way the assembler in input is just persiflage, it doesn't have
anything to do with the actual architecture of the processor.
>> When intel settled on the CS,DS,ES, SS architecture, they did so
>> it made it easy to write pascal compilers.
> That's no excuse.
Intel didn't need an excuse, they were the inventors, and Pascal is
why they created the CS, DS, ES, SS architecture. Hardware used
to be expensive. It used to be hard to make a wide bus, and
a wide instruction set. It would have been impossible for intel
to put a 32 bit bus and register set on a processor like the 8086
back in 1978. It would have been impossible for any foundry at
that time. Motorola had the benefit of being a few years later on
the design curve. But in spite of that, Motorola still never had a
really big win.
Motorola's architecture may have been more elegant, but they lost on
price vs. performance.
More information about the time-nuts