AOA Forums

AOA Forums (
-   Programming and Assembly Language (
-   -   Why program in Assembly!? (

Garfield 6th August, 2002 02:27 PM

Why program in Assembly!?
 Many people that want to get into the programming picture first ask themselves, what language do I want to concentrate on? And that can only be answered with another questions, what type of programming do I want to do? Around places, you could see some programmings praising their languages and putting down others. In most cases, those programmings 1) don't know what they're talking about or 2) don't understand the language(s).

 Each language has it's purpose. C and C++ are real good for developing applications such that are commonly used (many are WinAPI based). Java is the language of the internet and is widely used among that group of programmers. Even Visual Basic has it's use. It's great for RAD (Rapid Application Development) and you can easily and quickly develop useful apps.

 From my experience with programmings, people either love Assembly (like me ;)) or they hate it (the programmers who don't program in it). Of course, like any language, there are the ups and downs. That's how you choose a language. If you want low-level programming and minimized app sizes and the fastest programs (provided you're using optimal programming skills ;)) then I would say to program in Assembly. But, if you don't have patience for learning or not willing to spend hours and days and possibly weeks debugging, they don't learn Assembly!

Superman 6th August, 2002 08:27 PM

What would you say is a good site to help you learn assembly? And what programs will I need to compile in Assembly?

Winkie 8th August, 2002 12:26 PM

Personally, for small and efficient code I much prefer C, I find it easier to port from platform to platform, however i'm somewhat of a newbie in it still

Perl is one of my favourites also, despite it being terribly slow as it's interpreted

Max193 8th August, 2002 04:20 PM

Today, computer got really fast and, this way, high level programming is favoured. Assembler basically has lost its spirit for the usual application programmer but is still used in scientific areas and industry to instruct bots and snatcher. There is no real need to learn Assembler except you go into hardware design and need to understand coding on register level. Nice who can do it but far away from fast & efficient coding - it is time intensitive and no one is prepared to pay for it (xtra time).

Allan 9th August, 2002 01:48 AM

I only know some Java. I have no knowledge towards assembly, C or any other language for that matter. Oh well, maybe except for good old Basic (C64) and whatever is installed in my TI-83.

I would like to learn something new, so please, enlighten me! Is there any good site starting from SCRATCH with Assembly?

Garfield 9th August, 2002 03:06 AM

I'm about to go give Daniel a PM so I can ask him to sticky a thread I'm going to create in the near future. I'll point you guys to it via this thread. Until then...

Garfield 9th August, 2002 03:37 PM

Refer to this sticky for Assembly Sources. I hope many start to learn so we can have the questions starting for the board! :D

Allan 9th August, 2002 08:06 PM

Cool Garf! :)

Garfield 9th August, 2002 11:46 PM

So, who is planning on learning Assembly? I'm interested. Please start asking questions! :D

Allan 10th August, 2002 12:08 AM

I am - but give me some time. I'll be busy with harvest most of the weekend, and I start back at college on Monday...

Garfield 10th August, 2002 12:17 AM

Great! Good luck! :D

Superman 10th August, 2002 01:59 AM

I'll come talk to you next week, when I return from a canoe trip :)

Garfield 10th August, 2002 03:36 AM

Sounds good, bud! Have fun on the trip! :D

zimm 20th September, 2002 11:56 PM

I just recently started to learn assembly. I'm also working on C++,
but I gravitate towards assembly because I use to write assembler for the IBM mainframe. It appears to be very similiar, so I can easily relate. In the mainframe world we would use assembler for any critical high transaction type processing and whenever we wanted to do something clever, versus Cobol. I was addicted for about 10 years to coding assembler, then burned out. Now after reviewing X-86 architecture I'm starting to get the bug back. If you want to know what your code is doing you can't get any better than this. It translates directly to machine language so if there is an efficiency or whatever problem you have to point the finger at your code and not at a compiler.
That web site you mentioned, flash daddy's looks great. I'll definitely scope it out. I highly encourage people to give assembly a try. You basically have to memorize 60 or so instructions (mnemomic ) from there the sky is the limit as to whatever you want to code. By using/coding macros and common subprograms and being structured in how it is organized you'd be surprised as to how fast you can turn code out.

dolanenwindrift 24th February, 2003 05:29 PM

Am I correct at assuming that you could write device drivers in assembler?

Lovechild 4th April, 2003 10:18 AM

ASM is damn useless to be honest, developing goes so slow compared to C++ or Python.

But it's totally 1337 to be able to read and of course write it, plus it's good for making hardware drivers.

DimViesel 30th April, 2003 05:54 AM

Assembler eh...?
From a very young age (4 - Atari 2600), intrigued by the ability to take control of images rendered on a crt screen (games to the rest of us), I have been aghast as to what can be accomplished by the building of a logical framework from simple inviolable axioms.

Before you react violently and banish me from these tech forums for my impenetrable and turgid prose, I'm talking of the logical building blocks that allow the logical piecing together of a general logical and arithmetic evaluating system, more commonly known & simply referred to as the computer.

The intriguing thing about programming when contrasted with all the other sciences (if indeed it can be argued that it is a science more than it is an art ;) and you agree with this point of view) is that is recent and in many respects inevitably solitary due to the compounding layers of complexity in an advanced algorithm to a specific problem.
We humans, whether we like it or not are naturally illogical by nature. We are swayed biased and thrown by our subjective and presumptuous inclinations.
At risk of going seriously off-topic here it is, I believe, primarily for these reasons that for many of us the discovery of programming and its inherent formal logic is a rude awakening. For some it even goes as far as making the world seem like an entirely different place. For one we grasp at once the wonder of the immense ingenuity of the creation of the complex computer and also to be fully versed in the paradoxical shock of its extreme and its very real limitations. We thought they were 'capable' of so much before we realised the ingenuity of their creation, they were almost magic boxes; not so once you realise the 'simple' routine which underlies ALL of their functions.

For some it goes further. It makes us realise the inherent illogicality of our own behaviour and begin to question the efficiency of how we do things. Programming taught me the power and importance of sequence when going about my daily life. How sequence is often the primary factor affecting the result of more activities than we realise; although mostly the time in which we can complete a non-trivial activity and even a lot of non-trivial ones too (note I do know that terms like 'trivial' and 'non-trivial' are prob. wholly subjective and therefore almost impossible to formaly define satisfactorily in any useful way but I did say we humans are illogical and prejudiced by nature and unfortunately I can choose to be nothing else :) ).
I could be over presumptious here (only human), and these realisations and new-found biases (for at the end of the day for all their logical good intentions that is what they are) could have their roots more in my study of Systems Analysis. Perhaps this is what is required to make the connection between the ability to employ logic within the confines of the artificial system of a computer and 'porting' ;) it over to the real world.

If you have stuck with me thus far good on you and you will be rewarded with a conclusion that will hopefully ignite your inquisitiveness give you the shove you need or the wind of inspiration to surge forward.
I have looked at many languages used many of them (although paradoxically I never properly learnt the most prevalent and its cousins C, or C++), though as I said I am aware of their rudimentary structure, background, purpose and application.

Formal functional, procedural, OOP paradigms list based etc. these are all the logical interpretations of the tactics best used for creating algorithms that aid solving problems and tasks that could be maneuvered into computation.
Different languages subscribe to one or many of the above theories or ideals. Assembler in the main does not although mostly I believe it would be procedural in nature if it was to be described as anything.

Assembler is a challenge that I do not feel I have completed fully yet though I have begun. It is serendipitious that I happen to have recently bought an EPoX 8RDA+ and hence was directed to these forums via the UK support site. However I will certainly be joining Garfield on his quest, as long as our paths lead to a common goal... :p and for the reasons outlined above I would urge you to do the same. The insight, the ability you will possess to finally command your machine to do precisely as you instruct it (this in apprentice hands is also one of the dangers of Assembler - or Assm for short - although there is no need to worry it is nowhere near as bad as it once potentially was, I think... :D) and the ability to formalise and analyse the world you thought you knew so well can only increase your potential value to yourself and others! ;)
Who knows! You may realise that it's something you have been looking for all your life without knowing ... you may unlike myself find your self taking to it like a camel to the desert, and also (unlike myself) find that you are a natural at 'seeing through the matrix' of machine code -LOL!

Although people frown at the devotion some of us invest in our 'coding' I would say that with television and the world being the way it is you really aren't missing any kind of a party. ;) Don't let my negativity rub off on you though! :D

Woohoo! Registers, upper and lower order bits here were come!

PS The author is not the resident of a mental care institution, has never had the pleasure to reside in one, and while he can pass off as a normal person successfully, does not foresee this changing in the near future. He does however ask you to cordially forgive his over enthusiastic 5640 char post!

Superman 30th April, 2003 12:21 PM

Nice....LOL :)

Postaldave 30th April, 2003 03:51 PM

lmfao i dont think that pic is of allan.... i was told he was a guy lol

as for the topic.... i started programming in pascal

it is old and it is in plain english... you know how java and stuff use symbols and stuff alot... well you simply write if then else wutever in pascal so its a good place for noobs because it teaches you to think logically and understand how programming works.... cus its not just sitting down and typing

also.... assembly programming = 1337 pr0gr4mm1ng


if your new... try learning pascal.... then move on or back if you will.... but assembly is like people who still use the amiga os... they are freeks who resist moving onto the new things lol while i may hate c+ and java and c# and stuff like that... it is the only feasible solution for programming.... if you walk into a job for programer and you say i can program in assembly theyll say thats nice... what about c+


Aedan 30th April, 2003 06:10 PM


Originally posted by DimViesel
I have to just say, although this is probably not the place: that is one fine hat you have Allan!

That's actally Allan's GF... although I've no idea who the hat belongs to!

All times are GMT +1. The time now is 05:18 AM.

Copyright ©2001 - 2010, AOA Forums

Search Engine Friendly URLs by vBSEO 3.3.0