Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Assembly language

Options
  • 29-04-2013 6:08pm
    #1
    Registered Users Posts: 673 ✭✭✭


    How important is learning assembly, I know it's not used in everyday programming in an average programming job, but from a college perspective. I like programming but find assembly to be a pain in the swiss. Is it one of those things you get introduced to in computer science year 1 and then forgotten about. Or will it become the bane of my existence for the next 3 years if I don't nip it in the bud.


Comments

  • Closed Accounts Posts: 1,930 ✭✭✭galwayjohn89


    Marsden wrote: »
    How important is learning assembly, I know it's not used in everyday programming in an average programming job, but from a college perspective. I like programming but find assembly to be a pain in the swiss. Is it one of those things you get introduced to in computer science year 1 and then forgotten about. Or will it become the bane of my existence for the next 3 years if I don't nip it in the bud.

    We learnt it in first year and it didn't appear much in second year. As far as I know it will be back in bits next year (third year).


  • Registered Users Posts: 673 ✭✭✭Marsden


    Know of any good online resources vuzuggu, seems hard to find something decent. I suppose I better get the finger out and learn as much as I can before the exams start.


  • Closed Accounts Posts: 1,930 ✭✭✭galwayjohn89


    Not really. One thing I noticed is there isn't much online for it. What processor are you working on?


  • Registered Users Posts: 673 ✭✭✭Marsden


    8086, I thought the same, there's no consistency in anything online. Some websites start with an intro and end abruptly, while others start on what seems like chapter 7. I'd downloaded a book months ago on micro-processors but reckon I might have deleted it, could of been handy.


  • Closed Accounts Posts: 2,113 ✭✭✭SilverScreen


    Learned 8086 in the second year of my course and hated it. Never had to use it again after that thankfully. Embedded C is quite popular for embedded systems so it's more worthwhile learning that.


  • Advertisement
  • Registered Users Posts: 2,588 ✭✭✭KonFusion


    We were given this as our only resource for learning asm in first year (and then never saw it again...)

    A ****ing processor manual... Hadn't a ****ing clue what to do with it :pac:


  • Registered Users Posts: 673 ✭✭✭Marsden


    Finished C this year, is embedded C much different?


  • Registered Users Posts: 26,928 ✭✭✭✭rainbow kirby


    We did some of it in first year, using a book that was written by the lecturer himself. I wasn't a huge fan, it's something that it helps to know about, but unless you are doing extremely low-level work you'll never use it in the working environment. Just part of your overall education really.


  • Closed Accounts Posts: 2,113 ✭✭✭SilverScreen


    Marsden wrote: »
    Finished C this year, is embedded C much different?
    It's not that different at all. It's still basically C only with added features to let you program registers and I/O effectively. If you have a solid foundation in C it's something you'll pick up easier than assembly. It's used in Texas Instruments microcontrollers so it's quite popular.


  • Registered Users Posts: 16,413 ✭✭✭✭Trojan


    I learned IBM360/390 assembler on the job in my first real software job, the low-level C and machine code from college really, really helped.

    I'm not so sure that's of use to many high-level language developers - kids these days just drag and drop, right? :)


  • Advertisement
  • Closed Accounts Posts: 8,015 ✭✭✭CreepingDeath


    I learnt 80x86 assembly back in my day... a good 20 years ago.
    Before all your fancy hardware accelerated graphics cards, you needed it to write good graphics drivers.

    It provides you with a good understanding of the processor and how to use it more efficiently, eg. unrolling loops.

    I wrote a Java disassembler a few years back and knowledge of the stack frame helped to work out when one statement ended.

    But most commercial developers won't use assembly.
    It'll be mostly for people writing low level telecoms, operating system code (eg. Linux), code for embedded devices seems to be a common job vacancy too.


  • Registered Users Posts: 673 ✭✭✭Marsden


    Good to know that it won't be a prominent feature for the next few years.
    /*Leans back cracks fingers "It's all plain sailing now that year one is done*/

    Not sure if this should be a new thread or not but I'll give it a whirl. I'd love to get a bit of work experience during the summer months in something relevant to my course, do any of you folks know if their would be any companies that would take on a young buck like meself with only a years education under me belt.


  • Closed Accounts Posts: 1,235 ✭✭✭returnNull


    Trojan wrote: »
    kids these days just drag and drop, right? :)
    copy n paste :cool:


  • Closed Accounts Posts: 1,930 ✭✭✭galwayjohn89


    Marsden wrote:
    Not sure if this should be a new thread or not but I'll give it a whirl. I'd love to get a bit of work experience during the summer months in something relevant to my course, do any of you folks know if their would be any companies that would take on a young buck like meself with only a years education under me belt.

    What course are you doing?


  • Registered Users Posts: 16,413 ✭✭✭✭Trojan


    returnNull wrote: »
    copy n paste :cool:

    Auto-com<tab>


  • Registered Users Posts: 673 ✭✭✭Marsden


    Vuzuggu wrote: »
    What course are you doing?
    Computer science


  • Closed Accounts Posts: 1,930 ✭✭✭galwayjohn89


    Marsden wrote: »
    Computer science

    Sorry should have been a bit more specific. Which college? Each college do different modules in first years which would impact on the best area to try and get an internship in.


  • Registered Users Posts: 673 ✭✭✭Marsden


    DIT, modules covered are C programming, programming with persistent data (C again), OS (bit of Linux admin), algorithm and design, micro-processors (assembly and C), computer architecture, IT fundamentals(waste of time), web development (html5 css3, small bit of javascript).


  • Registered Users Posts: 1,931 ✭✭✭PrzemoF


    OP, It's probably not very important as an every-day language, but it's good to know because it's the very bottom of programming languages - there is nothing closer to the bare silicone that assembler. It's something like Otto/Diesel cycle for car mechanic - not required in every day work, but every car mechanic should at least have an idea why engine works.


  • Registered Users Posts: 1,686 ✭✭✭RealistSpy


    Assembly is very important if you are interested in reverse engineering :).
    Powerpc and 8086 but if you are not interested in reverse engineering then not so important. Assembly rocks..


  • Advertisement
  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    RealistSpy wrote: »
    Assembly rocks..

    Couldn't agree more.

    I teach on a college course that incorporates assembly language. It's a first year, first semester course and I firmly believe the 2-3 weeks spent on assembly language consolidates the preceding knowledge on basic architecture/rom/ram/addressing/binary and so on.

    I learned 6502 assembly on a board with a 4-digit display and hex keypad. None of your fancy assemblers the kids have today. Fond memories. :)


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    Tom Dunne wrote: »
    I learned 6502 assembly on a board with a 4-digit display and hex keypad. None of your fancy assemblers the kids have today. Fond memories. :)
    You had a real chip? Luxury...

    299643.jpg


  • Registered Users Posts: 1,481 ✭✭✭satchmo


    Understanding assembly is important for working in the games industry, especially if you work on console engines. You need to understand how to read registers, how the stack works, what and where the ABI is, how to trace through instructions, etc. When it's two weeks from shipping and you're getting a crash in the Release build with no debugging symbols that only happens once a day after an hour of play, believe me you'll be thankful for it. A basic understanding is also necessary if you want to do any SIMD optimization.

    The good thing is that assembly is not at all complicated. All you really need is an understanding of which registers do what on your target processor (that's what the ABI is for), an instruction reference (I like x86asm.net for x86 & x86-64), and lots and lots of patience.


Advertisement