Followers

Friday, May 25, 2007

Assembler:Into the {heart} of the machine

Taking a look at software almost everywhere from the desktop to the server I see that most of it's origin's come from the C compiler. From Microsoft to Macs, to Sparcs and Linux. It's everywhere I also read an article that c programming is one of the things currently being phased out. I highly disagree with this dangerous and rather myopic view of the industry.

I think there still is alot to be said about the simplicity, completeness and versatility of this language. I haven't looked really hard, but I rarely see libraries for assembler. Two reason why this is 1) different platforms - implementations of commands 2) syntax - one character off and the programmer has to look at it. 3) integration - one could use functions or not use them and also have strange argument configurations. These 3 things are the reason why it hasn't taken off yet. But in the source code itself you can simulate every language thats out there. I hold it in high regards and feel thats it's highly overlooked.

I have been reading ProgrammingGroundUp (google if you will). It's a linux tutorial for writing assembler code. I like it. The examples are quite complete and if covers all the essentials.

When I was a kid I wanted to program. But I got tired of BASIC which didn't appeal to me that well. I learned it but rarely wrote. I had no idea about assembler language back then, it was almost magical. There was no references or knowledge of it available to me at the time (which was why I went from Amiga to PC (an NECV20) because the PC had Turbo Pascal). I had asked The Silicon Pirate from T.O.P.P.S. cracking group how he did his border period animations and he simply said 'Exclusive Or'. I had no idea what that was.

Once you go through all of the essential mnemonics you can get a grip on to what you can do with it.So 2 1/2 years ago I got into 6510. I programmed a little editor with the commodore 64's kernel and did it very quickly I was surprised at the similarities in all of the languages I'm familiar with (except Haskell mostly still eludes me). I was making up for what I missed out when I was a kid. It was fun programming at it, because it is the essence of optimization.

A good programming tip is to program bottom up as well as top down and the same time. That is you create your stubs then you create small utilitity functions at the same time, meeting in the middle. (This is the kind of stuff you are not taught in college).

Still though the operations are pretty equivalent from the 6502/6510 52 commands and the 70 or so essential commands from Intel's 386.

No comments:

About Me

I am a programmer who enjoys the simple things in life.