While studying C language compilers, I learned that there was a bootstrap problem, such as Compilers for Compiling C Language…, and that the earliest compilers were implemented in the assembly language.Now I have the following questions:
In fact, the very early computer, or CPU evaluation kit, had hardware that allowed programmers to see and rewrite memory content directly. TK-80 is a typical example, but not just this.Because it was implemented only in hardware, the program could be entered and executed without any software.
When it comes to the beginning, I guess it's about this time.It was purely human work until I wrote an assembler program in my notebook and converted it into binary (hexadecimal), and I entered the resulting hexadecimal number and when it didn't work, I carefully reviewed the assembler I wrote in my notebook and found a bug...
In the next generation, it comes with built-in software that looks and rewrites memory (also known as monitor mode).Additionally, some come with a simple inline assembler function (simple functionality that translates to C9
when you type RET
).
Now that I've come this far, I don't think I can call it the beginning anymore.And it feels like we're going to the present day.
In the early days of the 1960s and 1970s, there was no assembly language.
In addition, there were no functions or procedures that I knew today.
Furthermore, I couldn't use my name or name tag (label).
As a result, it was difficult to change the street number at first when loading.
Therefore, there is no concept of relocatable.
In the first place, the capacity of the main memory was small, so even the assembler probably couldn't do it in one pass.
Apart from the old days, you can write assemblers, but don't you think it's better to use less code when you write because you can write assembly language processors in C, C++, C#, Java, PHP, Purl, Ruby, etc.?
© 2024 OneMinuteCode. All rights reserved.