|
-
May 1st, 2001, 11:25 AM
#1
Thread Starter
Frenzied Member
Start ASM or not??
Is it worth learning ASM these days. I am in a doubt wheather to start learning ASM or not.
Please tell me what you think.
-
May 1st, 2001, 10:02 PM
#2
Lively Member
Definately
Assembly is an GREAT language! It is the fastest and most efficient language there is. It usually isn't used to write entire applications but it can be. It is usually used in inline assembly for the C/C++ language and others I am sure. It helps to have a good understanding of computer hardware before learning this language though because it communicates directly with the hardware and it is easy to screw up your program if you don't know how your code is being executed. Good luck!
-
May 1st, 2001, 11:19 PM
#3
YOU DEFINITLY SHOULD LEARN ASSEMBLY. I think no matter what HLL you use, you should know assembly. Mainly because it can be used in any HLL, and its what you HLL code is compiling down to anyway.
I also think everyone should code everything in pure assembly, no matter what the operating system.
-
May 2nd, 2001, 10:19 PM
#4
Lively Member
I do agree that everyone should learn Assembly some time. But I don't think it is necassary to write all programs in PURE assembly. Of course it will be a lot smaller and faster and you will learn a LOT, but for very large commercial projects, I don't think it would be a very good idea to write it completely in Assembly.
-
May 14th, 2001, 04:59 AM
#5
Member
I also think you should learn ASM. But everything depends of your needs.
-
May 14th, 2001, 07:29 PM
#6
Im thinking of starting ASM too, but im not sure if it is worth the time at the moment (and this is my first post in this section)
-
May 25th, 2001, 09:49 AM
#7
Banned
Originally posted by stjepan
I also think you should learn ASM. But everything depends of your needs.
For example?...
-
May 25th, 2001, 01:36 PM
#8
If you need to write a driver, an OS component or really fast code, consider using ASM of one flavor or another.
For instance, I used to piddle around as an occasional contributor to Fractint (Winfract). Because of speed limitations folks worked to optimize every possible calculation in asm. Without the asm components for early Fractint, one type of Mandelbrot set calculation would have taken about 10 minutes in Leahey Fortran vs 15 seconds in asm on old 80286 machines.
Nowadays, I was told that some of the human genome DNA analysis code (DIFF algorithms, for example) was coded in assembler. Time is money.
If you ever get a compiler that has an option to list machine code from the program you're compiling, you'll understand why straight assembler is usually 3-20 times faster than compiled code.
Compilers do interesting things with variables vs. register variables, and often do special calls ie., _STR$EDIT, for a simple thing like str = left(a$,3). _STR$EDIT is a huge hunk of code. When you invoke dozens of these big ol' canned routines repeatedly, your performance suffers bigtime.
The downside of asm is programmer productivity. It's about 5% of what a good VB programmer can do, in terms of functional units, like a fully-featured form. But you can't write drivers in VB.
-
May 25th, 2001, 04:50 PM
#9
You should definately learn at least a small amount of assembly, just so you know what an HLL compiler is doing to the code youve written. Once you understand whats going on, you tend to be aware of how many CPU operations are going to be executed for this and that, and you will end up writing better HLL code because of it. I would recommend finding a free C++ compiler that supports inline asm, and use that to try things out, while you are learning. And you shouldnt really worry that it takes time to learn. ALL programming languages take time to learn, and ASM is just another(albiet, better) programming language.
Z.
-
Aug 7th, 2003, 05:44 PM
#10
Fanatic Member
ALL programming languages take time to learn, and ASM is just another(albiet, better) programming language.
Its easy to learn, but hard to master.
"Can't" and "shouldn't" are two totally separate things.
All questions should be answered. All answers should be true. That is why I post.
-
Aug 23rd, 2003, 03:59 PM
#11
Addicted Member
i'll tell you something.
simplicity VS speed
thats it.
so far, i know VB6 , VB.net , VC.net.
i am considering assembly.
but think about it...
did you ever click on a button in a vb6 program that you made,
and waited more than 0.1 sec ???
does it really matter that instead of waiting 0.1 sec, waiting 0.01 sec ??
believe me, you will not notice the difference.
but i am considering assembly because i though i MAY NEED it.
why would i ??
well, im not writting a driver, i am writting AI chess program,
and performance is all what its about.
you can check the statistics i gave about differences in performance between
several languages for my program in the thread "c++ and assembly" if u want to.
so if performance is a priority, go ahead. and ypu dont hav to write pure assembly,
use __asm keyword
-
Aug 23rd, 2003, 10:37 PM
#12
Fanatic Member
I would say it is more of a implementation speed vs efficiency.
Simplicity is in the eye of the beholder in my opinion. (APL anybody?)
"Can't" and "shouldn't" are two totally separate things.
All questions should be answered. All answers should be true. That is why I post.
-
Oct 21st, 2003, 03:54 AM
#13
All this makes me wonder what Alan Turing and his Bletchley Park colleagues would think of today's HLLs and computers.
Just imagine writing Windows using nothing more than punched tape! (Everything except the GUI obviously).
I don't live here any more.
-
Oct 21st, 2003, 05:22 AM
#14
Originally posted by
I also think everyone should code everything in pure assembly, no matter what the operating system.
And then you can rewrite the whole app just because you got a new CPU? Maybe a Mac instead of the PC? Or an Alpha?
Assembly is never portable. This, among other things, accounts for it's speed, but you will probably never see anything implemented only in assembly for any Linux app. Linux is there for many platforms and the apps should be too.
Small parts of some emulators or libraries (e.g. libpng) are available in portable C and x86 assembly, and the compiler chooses the right code.
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Oct 21st, 2003, 01:55 PM
#15
Fanatic Member
Assembly is never portable.
Its portable to processors that have the same instruction set...
"Can't" and "shouldn't" are two totally separate things.
All questions should be answered. All answers should be true. That is why I post.
-
Oct 22nd, 2003, 01:06 AM
#16
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Oct 22nd, 2003, 02:47 AM
#17
Fanatic Member
I luv programmin, and i hate vb, but i dont know why i frequently
use it...i luv asm, but i dont know why i hardly use it...
being a fast learner, i dont know why asm took me so long for
just even to realize some of its concept...
for once i'm pretty good at it, but it doesn't last long, a week later
and i'm back to vb, and "whoa, asm took my soul out!" and had
a long breather then...
i've so many ideas with using asm...that all vanished with vb's
simplicity's temptation...i cant help but really...
conclusively, u need lots of patience in dealing with asm.
ASM,C,C++,BASIC,VB,JAVA,VBS,HTML,ASP,PHP,mySQL,VB.NET,MATLAB
Programming is fun, but only if you're not on a tight deadline 
So I consider all those working engineers sad people
VB FTP class
3 page PHP crash course
Crash Course on DX9 Managed with VB.NET covering basics till terrain creation
-
Nov 2nd, 2003, 01:32 PM
#18
Addicted Member
Assembly is only good for about one thing these days and thats learning how to program efficiently in a higher level language like C. Compilers are good to the point that assembly is just about worthless as a primary programming language.
-
Nov 2nd, 2003, 03:38 PM
#19
As a primary, yes, but you can still beat even the best compilers when hand-coding inner loops of algorithms.
If you're good, that is.
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Nov 3rd, 2003, 04:15 AM
#20
Frenzied Member
i want to learn how to code simple inline assembly in c/c++....
do you know any good tutorials or web pages?
-
Nov 3rd, 2003, 10:08 AM
#21
Fanatic Member
Art of Assembly Language. I believe the link is in the FAQ page.
I also know of a really good book but the name escapes me at the moment...
"Can't" and "shouldn't" are two totally separate things.
All questions should be answered. All answers should be true. That is why I post.
-
Nov 17th, 2003, 03:21 PM
#22
Fanatic Member
Yes... I found the thread again! 
IBM PC Assembly Language and Programming by Peter Abel. Its a very good book.
"Can't" and "shouldn't" are two totally separate things.
All questions should be answered. All answers should be true. That is why I post.
-
Dec 1st, 2003, 10:05 AM
#23
New Member
Thats a DOS book. Go with the art of assembly language. There's a free online version available if you don't want to buy the book.
http://webster.cs.ucr.edu/AoA.html
-
Dec 8th, 2003, 06:01 PM
#24
Fanatic Member
But even with the DOS stuff, this book is still very good.
"Can't" and "shouldn't" are two totally separate things.
All questions should be answered. All answers should be true. That is why I post.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|