Thread: Learning Assembly

  1. #1
    Registered User
    Join Date
    Oct 2008
    Posts
    84

    Learning Assembly

    I'm planning to learn assembly for an independent study class in my college. I have 2 years of c/c++ experience and feel I'm pretty good at it now. I have never written assembly but want to learn it now.

    I eventually want to write a small game of some kind in assembly and was wondering which assembler will be the best for me to learn. I'm on a 32 bit windows machine running on an intel x86 architecture.

    I looked into MASM but I was told its like pseudo assembly. Is it the standard for win32 assembly ? especially if I want to make a real time graphics app with sound etc ? Does anyone have any suggestions on which assembler I should pick or which is the best to learn ?

    Thanks,

  2. #2
    Novice
    Join Date
    Jul 2009
    Posts
    568

  3. #3
    Programming Wraith GReaper's Avatar
    Join Date
    Apr 2009
    Location
    Greece
    Posts
    2,738
    Just one thing:
    There is no win32 assembly
    The most common is x86 assembly
    Devoted my life to programming...

  4. #4
    Password:
    Join Date
    Dec 2009
    Location
    NC
    Posts
    587
    NASM is confusing for those who don't like cmdline(ie me when I was learning asm), try Fasm's IDE.

  5. #5
    Registered User
    Join Date
    Mar 2008
    Location
    Coimbra, Portugal
    Posts
    85
    Yes, NASM is the thing.

    May I also suggest that you try to look at the disassembly of your C/C++ programs? Or at the output of, say gcc -S if you're with it? (or gcc -S -masm=intel).

    edit:

    @"User Name:"

    I get what you mean, but I think that eventually the experienced C/C++ programmer (2 years experience, OP), should get used to using the terminal. Even if said programmer never moves to a Unix-y OS (IMRHO better), it's always good to know it. But yes, Fasn's IDE might be better if that's the case.
    Last edited by Jorl17; 09-19-2010 at 12:52 PM.

  6. #6
    Registered User
    Join Date
    Oct 2008
    Posts
    84
    Thanks for the replies, I have a few questions, is NASM a raw assembler ? is it possible to write openGL or diectX apps using it ?

    I looked into MASM and found constructs like IF ELSE FOR etc and was wondering how those got in there, I thought there were no such constructs in assembly and we had to use jumps etc. Is it worthwile to learn MASM ? i know it has the ability to interface directX that is why I'm inerested.

    Does intel have its own assembler ? If so what is it caled and is that better to use that than all the *ASM's out there ?

    Also, I don't mind using command line so that is not a problem.

    Thanks

  7. #7
    Password:
    Join Date
    Dec 2009
    Location
    NC
    Posts
    587
    Yes, Nasm(and Fasm) are "raw assemblers". It's possible to write any sort of app that can be made with either of them. The only slightly hard part about writing apps that use libraries in asm is that you have to specify the libraries you want to import, which is usually handled for you by HLL compilers.

    Intel probably does gave an assembler since they have a compiler, but I've never heard of anyone using it.

    Fasm also has a cmdline version, I just suggested the IDE b/c it's easier and has a "Compile and Execute" button for quick return.

  8. #8
    Registered User
    Join Date
    Oct 2008
    Posts
    84
    ah, I see. What do you recommend I use to learn assembly ? a high level assembler like MASM and then go to FASM after that, or straight to FASM ?

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Learning Assembly
    By mrafcho001 in forum Tech Board
    Replies: 5
    Last Post: 03-12-2006, 05:00 PM
  2. assembly language...the best tool for game programming?
    By silk.odyssey in forum Game Programming
    Replies: 50
    Last Post: 06-22-2004, 01:11 PM
  3. Benefits of learning assembly language?
    By 747ken in forum A Brief History of Cprogramming.com
    Replies: 5
    Last Post: 11-02-2003, 07:16 PM
  4. True ASM vs. Fake ASM ????
    By DavidP in forum A Brief History of Cprogramming.com
    Replies: 7
    Last Post: 04-02-2003, 04:28 AM
  5. C,C++,Perl,Java
    By brusli in forum C Programming
    Replies: 9
    Last Post: 12-31-2001, 03:35 AM