Sign in to follow this  
Followers 0
kiltux

Assembly still useful?

13 posts in this topic

I had a little question about asm also known as assembly.

Is it still worth the effort to learn assembly.

i have a very basic understanding of assembly, but my question is, is it still usefull

and if the answer is yes then what for except that you get a better understanding of what happends underneath everything.

but is it still useful for making programs, and for what kind of programs is assembly good for

0

Share this post


Link to post
Share on other sites
I had a little question about asm also known as assembly.

Is it still worth the effort to learn assembly.

i have a very basic understanding of assembly, but my question is, is it still usefull

and if the answer is yes then what for except that you get a better understanding of what happends underneath everything.

but is it still useful for making programs, and for what kind of programs is assembly good for

I'm currently taking a university course on Assembly programming -- it's still very useful for optimizing code to levels that compilers shouldn't attempt on their own. For example, our university ported some software for identifying missing genomes to run on the PS3 since it's crazy-fast. When they ported it using only the provided compilers, they /lost/ efficiency to a factor of 2 (that is, the program took twice as long to run as it would have on the machine they were using before). After optimizing the code by hand, at the machine code level, they were able to obtain better than a 25-fold increase in speed.

Assembly is also useful when you're trying to figure out what's going on in a program that you don't have source code for. This is how a lot of vulns/cracks/etc are found.

Also, you'll find a lot of embedded-type projects and applications rely on Assembly code.

0

Share this post


Link to post
Share on other sites

Compilers create generalized code. Good compilers generate pretty good generalized code, but it's still generalized code. Any time you need something more specific than that, you'll want to use assembler code.

It's also important to understand how computers work on that level. Too many people these days are treating computers like too much of a black box, without thought to CPU cycles or anything. Algorithms will make more sense when you know what's happening underneath your compiler (or interpreter/vm).

0

Share this post


Link to post
Share on other sites

im not going to point out again why is useful to learn assembly, the posts before my own make that clear

link1

link2

Edited by oblivion
0

Share this post


Link to post
Share on other sites
I'm currently taking a university course on Assembly programming -- it's still very useful for optimizing code to levels that compilers shouldn't attempt on their own. For example, our university ported some software for identifying missing genomes to run on the PS3 since it's crazy-fast. When they ported it using only the provided compilers, they /lost/ efficiency to a factor of 2 (that is, the program took twice as long to run as it would have on the machine they were using before). After optimizing the code by hand, at the machine code level, they were able to obtain better than a 25-fold increase in speed.

Assembly is also useful when you're trying to figure out what's going on in a program that you don't have source code for. This is how a lot of vulns/cracks/etc are found.

Also, you'll find a lot of embedded-type projects and applications rely on Assembly code.

The PS3 is a special case. It's an exotic machine that we just don't know how to write compiler for yet. Micro-parallelization is just now being developed in compilers, don't expect compiled PS3 code to be competitive with assembly code in the near future. The same is not necessarily true for conventional (single or multi-core with macro-parallelization) machines. Modern compilers are pretty good, and assembly optimizations are only necessary in very small places where an extra few percent will actually matter.

That said, assembly is a necessary skill. You can't really understand what the compiler is doing, how the computer is executing the code or anything for that matter without assembly. Though you probably won't be using it all that often, you have to know it. So learn it. Though in reality you'll only be actually using assembly if you're writing an operating system (and even then most are 99% C, only a few small routines for setting things up, booting and task switching are written in assembly), shellcode or a very optimized inner loop for a video game or something, you won't actually be using this skill. For that reason, it's more important to have a solid understanding of how the code works, how the machine works and what the compiler generates than actually being proficient in writing software in assembly.

0

Share this post


Link to post
Share on other sites

Thank you all, for the efford to explain me why it is still useful.

0

Share this post


Link to post
Share on other sites

and stop trying to find tutorials to learn assembly! what the fuck is it with everyone who wants a tutorial for everything rather than a book. BUY A FUCKING BOOK!

0

Share this post


Link to post
Share on other sites
and stop trying to find tutorials to learn assembly! what the fuck is it with everyone who wants a tutorial for everything rather than a book. BUY A FUCKING BOOK!

Sorry but i didn't asked for an tutorial, i only asked if it is still worth the efford to learn it.

Read before you reply.

Edited by kiltux
0

Share this post


Link to post
Share on other sites

wasn't talking to you specifically, I was speaking in general and making a point hoping to stop people, possibly you, from asking in the first place.

0

Share this post


Link to post
Share on other sites

I can find my own tutorials, but still you people are here to help or give clue's for the ones who dont know where to start.

That is where the nubie section is about isn't it, helping people?

0

Share this post


Link to post
Share on other sites
I can find my own tutorials, but still you people are here to help or give clue's for the ones who dont know where to start.

That is where the nubie section is about isn't it, helping people?

And not screaming about irrelevant things no one asked about? Absolutely. But his point is a valid one. Most of the "tutorials" you'll find on the web are so horribly written, you'd better stay clear of them. If you want to get a book, we can help you choose one (and there are a few free good ones available on the Internet).

0

Share this post


Link to post
Share on other sites

I got to agree with you :P

but I didn't meant to disagree with him, but just that he has put the reply for off topic.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0