Results 1 to 24 of 24

Thread: Start ASM or not??

  1. #1

    Thread Starter
    Frenzied Member Vlatko's Avatar
    Join Date
    Aug 2000
    Location
    Skopje, Macedonia
    Posts
    1,409

    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.
    I am become death, the destroyer of worlds.
    mail:[email protected]

    • Visual Basic 6.0 & .NET
    • Visual C++ 6.0 & .NET
    • ASP
    • LISP
    • PROLOG
    • C
    • Pascal

  2. #2
    Lively Member
    Join Date
    Jun 2000
    Posts
    122

    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!

  3. #3
    ChimpFace9000
    Guest
    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.

  4. #4
    Lively Member
    Join Date
    Jun 2000
    Posts
    122
    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.

  5. #5
    Member
    Join Date
    Oct 2000
    Location
    Belgrade,Yugoslavia
    Posts
    34
    I also think you should learn ASM. But everything depends of your needs.

  6. #6
    chenko
    Guest
    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)

  7. #7
    Banned
    Join Date
    Feb 2001
    Location
    Back to sh*tland
    Posts
    294
    Originally posted by stjepan
    I also think you should learn ASM. But everything depends of your needs.
    For example?...

  8. #8
    jim mcnamara
    Guest
    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.

  9. #9
    Zaei
    Guest
    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.

  10. #10
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    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.

  11. #11
    Addicted Member
    Join Date
    Apr 2003
    Posts
    170
    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

  12. #12
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    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.

  13. #13
    type Woss is new Grumpy; wossname's Avatar
    Join Date
    Aug 2002
    Location
    #!/bin/bash
    Posts
    5,682
    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.

  14. #14
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    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.

  15. #15
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    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.

  16. #16
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Duh!
    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.

  17. #17
    Fanatic Member jian2587's Avatar
    Join Date
    Aug 2000
    Location
    I bet u need a fusion powered shuttle to reach my place...
    Posts
    963
    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

  18. #18
    Addicted Member
    Join Date
    Oct 2003
    Posts
    149
    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.

  19. #19
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    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.

  20. #20
    Frenzied Member cyborg's Avatar
    Join Date
    May 2000
    Location
    Sweden
    Posts
    1,755
    i want to learn how to code simple inline assembly in c/c++....
    do you know any good tutorials or web pages?
    Check out the FAQ and do a search before you post.
    My tutorials: Anti-Alias Pixels, Accurate Game Loop, Resource File

  21. #21
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    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.

  22. #22
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    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.

  23. #23
    New Member
    Join Date
    Dec 2003
    Posts
    12
    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
    silk.odyssey

  24. #24
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    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
  •  



Click Here to Expand Forum to Full Width