Grant Edwards wrote:
On 2008-07-22, Larry Bates <[EMAIL PROTECTED]> wrote:
Grant Edwards wrote:
On 2008-07-22, Larry Bates <[EMAIL PROTECTED]> wrote:
You talk about "writing it in assembly language for each MPU
chip". Actually it is even better than that. We now have
these modern inventions, called compilers that do that type of
work for us. They translate high level instructions, not
into assembler but into machine language.
Actually, all of the compilers I'm familiar with (gcc and a
handful of cross compilers for various microprocessors)
translate from high-level languages (e.g. C, C++) into
assembly, which is then assembled into relocatable object
files, which are then linked/loaded to produce machine
language.
I just learned something I did not know. I was under the
impression that they translated directly to machine code
without ever actually generating Assembler text files.
There may indeed be compilers that work that way. On Unix
systems (which is what I work with) compilers have
traditionally generated assembly language files.
Seems like a waste to generate the text and turn around run
that through the assembler, but what do I know. I guess that
way the compiler can have pluggable assembler back-ends.
Since you probably need an assembler anyway, generating
assembly-language in the compiler prevents you from having to
duplicate a bunch of object-code-generation code in two places.
I'm not sure I understand what you mean here. The code generation phase of the
top level compiler would have to generate assembler mnemonics instead of just
generating machine coded directly. At that point it should be just as easy to
generate machine code, unless you take advantage of macros, or other helpers
provided in the assembly phase.
My "compiler" work was way back on mainframes and the ones I worked with
definitely didn't produce assembler then needed to be run through the assembler.
They created likable objects directly. But that was over 30 years ago!
All this may be a moot point, because assembler is just a mnemonic
representations of machine language anyway.
-Larry
--
http://mail.python.org/mailman/listinfo/python-list