Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Is Assembly Language dead?

Is Assembly Language dead?

Scheduled Pinned Locked Moved The Lounge
hardwarealgorithmsperformancequestionlearning
46 Posts 29 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T tisaracorner

    In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

    R Offline
    R Offline
    Rich Leyshon
    wrote on last edited by
    #7

    It's been a long time since I did any (early x86 days) but it can be the simplest solution rather then the most complex, as someone suggested. I had to design a board that was used for real time testing of a comms chip, it allowed the user to change modes on the chip and examine various registers etc. The requirements of the program were therefore very small, getting some input from dip switches, reading and writing from/to the memory mapped chip and putting some output on LEDs. In this situation, you wouldn't sensibly want to install an O/S and/or runtime libraries etc in order to execute a small (maybe 1kb) piece of software. Far simpler and quicker to do it in assembly and a lot less RAM required on the board! Rich

    1 Reply Last reply
    0
    • T tisaracorner

      In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

      L Offline
      L Offline
      LittleYellowBird
      wrote on last edited by
      #8

      At last a subject that I feel knowledgeable enough to comment on! :-D I am primarily an embeded programmer and I love assembler, however I very rarely use it. I love assembler because when I write in assembler I am in complete control, I tell the processor what to do and when to do it! But normally even for embedded projects I write in C because it is a lot quicker to produce a completed project, plus it will generally have less bugs and the code will be more maintainable. I can only justify assembler for the smallest projects.

      tisaracorner wrote:

      So what you think, learning the assembly language would be foolishness?

      Surely learning anything cannot really be foolish, and an appreciation of assembler must help you to understand how the processor works at a very basic level, however I have to admit that very few people use it today.

      tisaracorner wrote:

      Is Assembler dead?

      Not while I live and breath! ;P

      Ali

      T 1 Reply Last reply
      0
      • T tisaracorner

        In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

        B Offline
        B Offline
        blackjack2150
        wrote on last edited by
        #9

        You can easily get a job these days if you're good in H-L languages, without knowing any assembler at all.

        tisaracorner wrote:

        So what you think, learning the assembly language would be foolishness?

        I would say yes. Personally I'd rather learn to play guitar (which I do), or set up a fish tank, or whatever. Life's too short for wasting time on learning things that you don't like.

        D 1 Reply Last reply
        0
        • L LittleYellowBird

          At last a subject that I feel knowledgeable enough to comment on! :-D I am primarily an embeded programmer and I love assembler, however I very rarely use it. I love assembler because when I write in assembler I am in complete control, I tell the processor what to do and when to do it! But normally even for embedded projects I write in C because it is a lot quicker to produce a completed project, plus it will generally have less bugs and the code will be more maintainable. I can only justify assembler for the smallest projects.

          tisaracorner wrote:

          So what you think, learning the assembly language would be foolishness?

          Surely learning anything cannot really be foolish, and an appreciation of assembler must help you to understand how the processor works at a very basic level, however I have to admit that very few people use it today.

          tisaracorner wrote:

          Is Assembler dead?

          Not while I live and breath! ;P

          Ali

          T Offline
          T Offline
          tisaracorner
          wrote on last edited by
          #10

          That means if you can’t find a library for your immediate purpose you will make it in assembly language. Isn’t? What you feel its importance in developing new technologies like Bluetooth?

          L 1 Reply Last reply
          0
          • B blackjack2150

            You can easily get a job these days if you're good in H-L languages, without knowing any assembler at all.

            tisaracorner wrote:

            So what you think, learning the assembly language would be foolishness?

            I would say yes. Personally I'd rather learn to play guitar (which I do), or set up a fish tank, or whatever. Life's too short for wasting time on learning things that you don't like.

            D Offline
            D Offline
            Dario Solera
            wrote on last edited by
            #11

            blackjack2150 wrote:

            Life's too short for wasting time on learning things that you don't like.

            I've got to remember that. :-D

            If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki

            1 Reply Last reply
            0
            • C Christian Graus

              tisaracorner wrote:

              But I sure it still has an importance in mission critical and real-time embedded systems

              I would never write a mission critical system in assembler, that would be moronic. Assembler is far more fiddly and more likely to need bug fixing. embedded systems, perhaps, if they are really low level hardware. I'd imagine the main thing that uses assembler would be compilers.

              tisaracorner wrote:

              So what you think, learning the assembly language would be foolishness?

              Yeah, unless you have a need for it, and unless you already know a few higher level languages really well, I'd say it's probably a waste of time.

              Christian Graus No longer a Microsoft MVP, but still happy to answer your questions.

              G Offline
              G Offline
              Gast128
              wrote on last edited by
              #12

              Christian Graus wrote:

              Yeah, unless you have a need for it, and unless you already know a few higher level languages really well, I'd say it's probably a waste of time.

              I think it is great way to learn performance issues and debugging. By coding assembly one can get a feeling what is going around below the higher programming language. So any serious developper, I would advise to invest 3 months of study in assembly language. For development, that's another story. I think its counter productive to use assembly language for any project. Except for some small very critical performance parts (and maybe os development), mostly can be done in speedy languages like c and c++. And even then one can question the performance gain. Compilers are in general very good in making optimized code. Intel made its IPP library to program in higher functions and shield implementation (use of mmx variants and so)

              1 Reply Last reply
              0
              • T tisaracorner

                In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

                S Offline
                S Offline
                Simon P Stevens
                wrote on last edited by
                #13

                Certainly not dead. We have some controllers that use an assembly language for programming. It's not x86 though. And I'm sure OSs and compilers will use it still. Might be worth learning about it _after_ you know modern high level languages, as it may help you understand how things are working underneath. I wouldn't learn it as a first (or even second or third) language though, it's practical value is pretty low. I know very little assembly. I know some theory, but that's about it, and I've not found that to be a problem yet.

                Simon

                1 Reply Last reply
                0
                • T tisaracorner

                  In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

                  K Offline
                  K Offline
                  killabyte
                  wrote on last edited by
                  #14

                  if you want to have anything to do with embedded systems it pays to know assembly language, because 9/10 times during a large project the chip specific compiler will create something wrong. i think assembly is one of the easier languages to code in, if you can draw a flow chart you can code asm, but on the other hand it is HORRID to maintain legay code that isnt yours. bad thing about asm is that it is quite different from chip to chip, from PIC to an H8 to a M16 will take a bit of adjustment.

                  L 1 Reply Last reply
                  0
                  • K killabyte

                    if you want to have anything to do with embedded systems it pays to know assembly language, because 9/10 times during a large project the chip specific compiler will create something wrong. i think assembly is one of the easier languages to code in, if you can draw a flow chart you can code asm, but on the other hand it is HORRID to maintain legay code that isnt yours. bad thing about asm is that it is quite different from chip to chip, from PIC to an H8 to a M16 will take a bit of adjustment.

                    L Offline
                    L Offline
                    leppie
                    wrote on last edited by
                    #15

                    killabyte wrote:

                    but on the other hand it is HORRID to maintain legay code that isnt yours.

                    Hell is other people's code :)

                    xacc.ide - now with TabsToSpaces support
                    IronScheme - 1.0 alpha 4a out now (29 May 2008)

                    K D 2 Replies Last reply
                    0
                    • T tisaracorner

                      That means if you can’t find a library for your immediate purpose you will make it in assembly language. Isn’t? What you feel its importance in developing new technologies like Bluetooth?

                      L Offline
                      L Offline
                      LittleYellowBird
                      wrote on last edited by
                      #16

                      tisaracorner wrote:

                      That means if you can’t find a library for your immediate purpose you will make it in assembly language. Isn’t?

                      Not really, I would use assembly language only for small peices of code that I want to be ultra fast or ultra small or both. Remember that a complier turns each line of code into several lines of assembler. Sometimes, because the compiler does not have the specialist knowledge that the programmer has, it includes lines that are not required in that particular project. So by writing it myself in assembler I can keep my code to the absolute minimum ammount of machine instructions. I could even check the speed of various instructions and write the very fastest possible peice of code (that's good fun). But do not be fooled into thinking that all assembler is fast and small, even a medium sized project will be faster and smaller if written in a high level language. This is becasue a human cannot keep much code in their head at any one time, so their code quickly becomes as wasteful as a compilers, or even more so.

                      tisaracorner wrote:

                      What you feel its importance in developing new technologies like Bluetooth?

                      I use Bluetooth, but I use other peoples code to control it and I have no idea if it is written in assembler - sorry. I just use their libraries. My embedded systems have to control hardware and it is often time critical - that's really the only use for assembler I have these days. If you would like to try a bit of assembler have a look at the company Microchip, they make PIC processors which are really easy to get up and running, you just need a crystal and a power supply and there is loads of development kit available for them. You could write a small application (like flashing an LED) in C then re-write it in assembler. But only do it if you want to for fun :-D

                      Ali

                      D 1 Reply Last reply
                      0
                      • L leppie

                        killabyte wrote:

                        but on the other hand it is HORRID to maintain legay code that isnt yours.

                        Hell is other people's code :)

                        xacc.ide - now with TabsToSpaces support
                        IronScheme - 1.0 alpha 4a out now (29 May 2008)

                        K Offline
                        K Offline
                        killabyte
                        wrote on last edited by
                        #17

                        oh my are you the luckiest SOB coder ever?!?!?! if you havent worked with others code then i want your job haha

                        L 1 Reply Last reply
                        0
                        • T TommyTomToms

                          I've seen some +-300 ton presses programmed in assembly and Turbo Pascal so it would help to know it if you wanna go that route, However nowdays most stuff is controlled with PLC's that use FBD's... PS: Simatic S7 is a pain,

                          N Offline
                          N Offline
                          Nelek
                          wrote on last edited by
                          #18

                          Quote: "PS: Simatic S7 is a pain" I second that ;)

                          Regards. -------- M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you “The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson Rating helpfull answers is nice, but saying thanks can be even nicer.

                          1 Reply Last reply
                          0
                          • T tisaracorner

                            In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

                            B Offline
                            B Offline
                            benjymous
                            wrote on last edited by
                            #19

                            One reason for the decline of assembler is the move from CISC (Complex Instruction Set Computer) to RISC (Reduced Instruction Set Computer) Typically old CISC CPUs would have hundreds of instruction, wheras a RISC CPU has far fewer, so, as a fictional example, a RISC CPU might not have a multiply instruction, forcing you instead to add the number to itself multiple times to get the same result. This means the RISC assembly code for a simple operation is far longer, and far less readable that the equivalent CISC code. (Note that the current x86 chips are a sort of CISC-RISC hybrid, where it gets even more confusing...)

                            Help me! I'm turning into a grapefruit! Buzzwords!

                            1 Reply Last reply
                            0
                            • K killabyte

                              oh my are you the luckiest SOB coder ever?!?!?! if you havent worked with others code then i want your job haha

                              L Offline
                              L Offline
                              leppie
                              wrote on last edited by
                              #20

                              killabyte wrote:

                              if you havent worked with others code

                              Believe me I have/am, I try not to though ;P

                              xacc.ide - now with TabsToSpaces support
                              IronScheme - 1.0 alpha 4a out now (29 May 2008)

                              1 Reply Last reply
                              0
                              • T tisaracorner

                                In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

                                V Offline
                                V Offline
                                vikrant kpr
                                wrote on last edited by
                                #21

                                Assembly language can be helpful in cracking softwares etc the best tool i know is ollydbg ollydbg makes assembly really interesting

                                1 Reply Last reply
                                0
                                • T tisaracorner

                                  In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

                                  CPalliniC Offline
                                  CPalliniC Offline
                                  CPallini
                                  wrote on last edited by
                                  #22

                                  George_George keeps it alive [^], [^]. :-D

                                  If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                                  This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                                  [My articles]

                                  In testa che avete, signor di Ceprano?

                                  L T R 3 Replies Last reply
                                  0
                                  • T tisaracorner

                                    In a scene computers have become fast to solve the performance issues. So why trouble ourselves in complexity of assembly language? But I sure it still has an importance in mission critical and real-time embedded systems. How much it is important in driver development and operating systems? So what you think, learning the assembly language would be foolishness?

                                    J Offline
                                    J Offline
                                    Jorgen Sigvardsson
                                    wrote on last edited by
                                    #23

                                    Learn it because it's fun, and gives you a deeper understanding about what is going on under the hood. Knowledge is never bad!

                                    -- Kein Mitleid Für Die Mehrheit

                                    T 1 Reply Last reply
                                    0
                                    • C Christian Graus

                                      tisaracorner wrote:

                                      But I sure it still has an importance in mission critical and real-time embedded systems

                                      I would never write a mission critical system in assembler, that would be moronic. Assembler is far more fiddly and more likely to need bug fixing. embedded systems, perhaps, if they are really low level hardware. I'd imagine the main thing that uses assembler would be compilers.

                                      tisaracorner wrote:

                                      So what you think, learning the assembly language would be foolishness?

                                      Yeah, unless you have a need for it, and unless you already know a few higher level languages really well, I'd say it's probably a waste of time.

                                      Christian Graus No longer a Microsoft MVP, but still happy to answer your questions.

                                      J Offline
                                      J Offline
                                      Jorgen Sigvardsson
                                      wrote on last edited by
                                      #24

                                      Christian Graus wrote:

                                      I'd imagine the main thing that uses assembler would be compilers.

                                      Maybe this is a semantic issue, but a compiler generates (amongst other things) assembly code. There is little or no benefit in coding the compiler in assembly these days.

                                      -- Kein Mitleid Für Die Mehrheit

                                      1 Reply Last reply
                                      0
                                      • CPalliniC CPallini

                                        George_George keeps it alive [^], [^]. :-D

                                        If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                                        This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                                        [My articles]

                                        L Offline
                                        L Offline
                                        leppie
                                        wrote on last edited by
                                        #25

                                        CPallini wrote:

                                        George_George keeps it alive

                                        I think he should get his own forum :) On the plus side, he does not ask stupid questions, just a helluva lot of them! ;P

                                        xacc.ide - now with TabsToSpaces support
                                        IronScheme - 1.0 alpha 4a out now (29 May 2008)

                                        CPalliniC P 2 Replies Last reply
                                        0
                                        • CPalliniC CPallini

                                          George_George keeps it alive [^], [^]. :-D

                                          If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                                          This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                                          [My articles]

                                          T Offline
                                          T Offline
                                          tisaracorner
                                          wrote on last edited by
                                          #26

                                          You made me laugh in my office. I like your character :-D

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups