View Single Post
Old Jun 28th, 2005, 8:13 AM   #2
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
If you haven't already, get some material and learn how a "computer" system works. Then pick some processor, study its spec sheet, gather some material on its assembly language, and write something simple. The x86 is probably at your fingertips, so that's one possibility. You can write inline assembler with your C/C++ compiler, no doubt. You can also write some C/C++ code (or whatever language flips your skirt) and look at the assembler/machine code it emitted. If you want it REALLY tough, as in days of yore, before they blessed us with MUL instructions and such, investigate that LC-3 mentioned in another thread here. It's a simulated micro and there are "emulators" for it in Windows and *nix so that you can run what you write on your desktop. There's a sort of minimalistic editor and debugger for it. That one will put some hair on your chest because you're going to actually have to learn how things build up from the basics. On the other hand, the missing basic operations may represent somewhat of a side step, inasmuch as few, if any, real world processors are so limited.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote