Click to See Complete Forum and Search --> : Start ASM or not??
Vlatko
May 1st, 2001, 11:25 AM
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.
Cybrg641
May 1st, 2001, 10:02 PM
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!
ChimpFace9000
May 1st, 2001, 11:19 PM
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.
Cybrg641
May 2nd, 2001, 10:19 PM
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.
stjepan
May 14th, 2001, 04:59 AM
I also think you should learn ASM. But everything depends of your needs.
chenko
May 14th, 2001, 07:29 PM
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)
Good Dreams
May 25th, 2001, 09:49 AM
Originally posted by stjepan
I also think you should learn ASM. But everything depends of your needs.
For example?...
jim mcnamara
May 25th, 2001, 01:36 PM
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.
Zaei
May 25th, 2001, 04:50 PM
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.
Darkwraith
Aug 7th, 2003, 05:44 PM
ALL programming languages take time to learn, and ASM is just another(albiet, better) programming language.
Its easy to learn, but hard to master.
ZaidGS
Aug 23rd, 2003, 03:59 PM
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 :)
Darkwraith
Aug 23rd, 2003, 10:37 PM
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?)
wossname
Oct 21st, 2003, 03:54 AM
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).
CornedBee
Oct 21st, 2003, 05:22 AM
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.
Darkwraith
Oct 21st, 2003, 01:55 PM
Assembly is never portable.
Its portable to processors that have the same instruction set... :D
CornedBee
Oct 22nd, 2003, 01:06 AM
Duh!
jian2587
Oct 22nd, 2003, 02:47 AM
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.:)
abcdefg
Nov 2nd, 2003, 12:32 PM
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.
CornedBee
Nov 2nd, 2003, 02:38 PM
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.
cyborg
Nov 3rd, 2003, 03:15 AM
i want to learn how to code simple inline assembly in c/c++....
do you know any good tutorials or web pages?
Darkwraith
Nov 3rd, 2003, 09:08 AM
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...
Darkwraith
Nov 17th, 2003, 02:21 PM
Yes... I found the thread again! :D
IBM PC Assembly Language and Programming by Peter Abel. Its a very good book.
silk.odyssey
Dec 1st, 2003, 09:05 AM
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
Darkwraith
Dec 8th, 2003, 05:01 PM
But even with the DOS stuff, this book is still very good.
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.