News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

HELO WORLD

Started by siliconcrystal, June 17, 2011, 04:35:12 PM

Previous topic - Next topic

siliconcrystal

Hare Krsna everybody

This is my "I am not a spambot" introductory posting.

I first learned about assembly language programming around 1989-1990, when I became interested in the PC demo scene. I was amazed at what people could make x86 hardware do and in such tiny code. These people really knew what they were doing, especially people who wrote non-standard VGA drivers to get 21 bit colour on a system which technically didn't know anything better than 15 or 16 bit. Sound and graphics synchronised with impressive framerate and the general feel of these programs really got my attention, and a deep part of me determined itself to write assembly language one day.
It was over 20 years before that dream became reality. I learned to write BASIC 1.0 on an Amstrad CPC464 when I was about 12, and Turbo Pascal in high school, and after that I learned to write C (which I REALLY LIKE - to me C is like butter when all there is is bread). And I developed my interest in C, never writing anything commercial but generally developing my grasp so that when met with a challenge that existing software didn't do (or where I would have to buy a great deal more as well than what I needed) what I needed to do, and couldn't be done in shell script easily enough, I could write a program in C to do it for me. I've written little tools that help with choosing resistor values for voltage regulators, and code which generates scene data for POVRay. Every time I write something in C I learn something. It's that versatile that it is quite easy to make a mistake and I seem to do this about half the time with C.

It was a great relief then, when I finally wrote (well, adapted) some assembly language code. By the time I actually got around to writing it, I knew some instructions off the top of my head (the idea that you could actually have your code executed at machine speed was enough to get me reading assembly instructions quite a while ago). And basic ones stuck in my head. (BTW if the code in my signature is wrong let me know : ) I had developed quite a taste for graphics code thanks to the PC assembly scene days (I never wrote anything then but I understood enough about what they were doing to be impressed from a programming perspective), so my first program was a modification of a graphics program- I took what someone else had written and made it do what I needed it to. I made a mistake and it didn't work at first, because I made an assumption about the setting of a zero flag, but changed it and it WORKED! Could you believe it. I was so happy that it wasn't a month-long painful process (I'm talking about *after* all the preparation you do before you start writing anything) but a few days before I actually assembled something that not only assembled and didn't crash, but did what I was trying to do! when those two line up at machine execution speed it makes your mouth water. Anyway that code wasn't particularly fast (it ran in userland so was still being timesliced by the OS), so I'm adapting it to a DirectDraw version which should be what I'm looking for. I've had some good help with that on IRC. Hopefully I will actually write some code that will be good enough to reminisce about the old PC demo days. They were great.
Each language I've learned has a different feel. They're all distinct. And let me tell you, the feel of assembly language is almost like proof God exists for me. It is SO CLEAN, so crisp, i makes origami out of C and I have such a high regard for C. I still do and always will regard C highly, but beginning finally to write in assembler is like Introduction to Computing after having already learned what I have right from the start, only every single bit counts < ---------------- THAT   ----------------- > much. I have some nice ideas to keep my heart warm for assembly that I'll try when I'm good enough, things that I would have written (and might still at first write) in C. Given the BSD operating systems are all written in C it really shows me what C can do, but hand coding a program in assembler, getting it right, and executing the assembled code at clockspeed is where I will really get drive. Programming in assembler is making a specialised piece of stone do exactly what you'd like it to. That is pretty cool to me.

I hope my contributions here are stimulating and helpful, I come with an attitude that probably everyone or near enough knows LOTS more than me about ASM, and I'll be listening mostly and not saying much until I have done enough groundwork to ask a good question (I am bound to ask lots of questions, particularly if you appreciate what ASM means to me).
Finally, can I just thank the developers of MASM32 SDK because it was in MASM32 that I wrote my first Assembly language code. You made it so easy to get right at it, and it is with you that I shared my joy of first writing in assembler.
DB LOVE "ASM"
MOV EAX, LOVE

hutch--

Hi SC,

Welcome on board. You will find there are a lot of people who float around here who know their way around MASM code well so feel free to ask which way to go with what you want to do.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php