Archived

This topic is now archived and is closed to further replies.

DefaultUser

Assembly Language. Is it still worth it to learn?

Recommended Posts

Kinlan    122
Hello,

Of course it is still usefull, you may think that with the current speed of proccesors that it will soon be redundant, but you have to remeber that compilers are still relativly stupid when it comes to creating efficient code.

Also if you have the basic understanding of x86 ASM then you will pretty much be able to program any other chip that is out there (i.e pic, moterrola etc) with out too much fuss even though the mnumonics are different the basic ideas are normally the same.

Hope this helps, and please ignore my spelling. cheers.

Paul Kinlan

p.s Joke Alert ..

Question:How do you get two pikachu on to a Bus?
Ans: Pokemon

sorry it had to be done

Share this post


Link to post
Share on other sites
JonStelly    127
I''d say it''s very useful if you have the time to learn it to the point where you can outperform your compiler. Other than that, a cursory knowledge of Assembly may prove handy, but probably not to the point where I would suggest it to anyone. If you''re curious about how things work at a lower level, look into it. I have a VERY basic knowledge of Assembly, and I find it to be interesting.

I understand a little bit about the theories of branch prediction, pipelines, etc... but I don''t sound intelligent when trying to explain them to others. =)

Share this post


Link to post
Share on other sites
bogdanontanu    122
Yes it is

a lot if i may say...

i do the whole of my RTS game in ASM....

Today is more easy to programm in asm, check Iczelions win32asm sites to get more info...

its almost as easy as C/C++...only u have to know better...and do more things with "bare hands"...but the api''s are the same..
and u get a lot of speed....


Bogdan

Share this post


Link to post
Share on other sites
Xai    1838
Knowing the basics of the assembly language on your platform is very helpful. Not primarily so you can code in it - cause in today''s market usually no more than 1 out of 10-15 programmers (and i mean GAME programmers) actually use it regularly. BUT, since assembly IS the processor instruction set (at least the human readable version) then knowing it will allow you to understand the listing files generated by your compiler better (hence better debugging ability), and also, it will allow you to understand the performance costs of various solutions MUCH better. You will also be able to make sense of the ASM timing reference information (that tells how many clock cycles each instruction takes) in order to better understand issues related to efficient data organization, prefetching, etc. Well ... there you go ... good luck.

Share this post


Link to post
Share on other sites
MatsG    122
It´s worth it and asm isn´t that hard.. Think about all the good stuff like 3dnow for example.

My teacher at school said: "Using assembly is like shooting your self in the foot" well if you can´t aim you can´t =)

Share this post


Link to post
Share on other sites
DefaultUser    122
Yeah, I agree about how much knowledge you will gain when learning Assembly. I''ve been reading alot about the 80x86 Asm since the post, and I have to say that it really helps a lot. Learning Assembly when you''re a programmer will not only you a good chance of improving your code but it will help sharpen your mind about how the 80x86 handle the codes and how the VNA works.

Thanks for all the replies.


-DefaultUser

Share this post


Link to post
Share on other sites
dwarfsoft    1229
Even if it wasn''t worthwhile learning (which of course it is ) then I would suggest learning for the sheer gloat value. If you know how to program in Assembly then you can rub it in the face of those programmers who pose around thinking that they are better than you because they can make Tetris in BASIC. Ask them to debug your Assembly Pacman code and they shuttup really quick

-Chris Bennett of Dwarfsoft - Site:"The Philosophers' Stone of Programming Alchemy" - IOL
The future of RPGs - Thanks to all the goblins over in our little Game Design Corner niche
          

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
IMHO the best reason to learn assembly is not so that you can make your code faster but so that you can debug it better.

There is a constant stream of questions to this board and why somebodies code is doing such and such and if they just looked at the assembly output they could see exactly what the problem is and use that knowledge to go back and see that yes, thier code is lame, or (very occasionally) confirm that it is indeed a compiler bug, etc.

Plus, if you ever need to debug in the field you''re going to run into some very primitive debuggers. It is a very useful skill to be able to figure out what is going on with nothing but a stack trace and an assembly dump.

-Mike

Share this post


Link to post
Share on other sites
neocron    122

Learning asm certainly helps with optimization using MMX/3DNow/SIMD/etc. I wouldn''t write an entire app with it though! If you look at commercial software source (ie; Quake, Descent) there really is only a tiny percentage of the code written in asm.

Share this post


Link to post
Share on other sites