+ Reply to Thread
Page 4 of 5 FirstFirst ... 2345 LastLast
Results 31 to 40 of 48

Thread: Free Assembly Tutorials

  1. #31
    Join Date
    Oct 2007
    Posts
    538
    Rep Power
    21
    The other thing with assemblers. Different ones use different relocatable binary formats. In Linux you will likely use ELF, in Windows there's PE. Any assembler will have to support the binaries of your systems linker, many support several.

    WRT other OS dependent stuff. It's mostly about calling conventions. You'll use different ABI's depending on platform. This goes from how they handle function calls to what interrupts the system uses. You can use one assembler to produce Linux code from Windows, it just probably won't work on Windows without modification.

    As for not knowing C. Don't worry. Essentially you traditionally pick a register and say all returned values will be stored in that register (perhaps if you use a double word variable you will have a convention for the second register). Then you establish a similar convention for passed arguments. Once you've done this you are left handling what state you have to push on the stack (so it is saved) before a new function call so that function can use your registers. The best advice that can be given is to explicitly state in comments what each variable in a function is, there aren't nice labels in ASM programming (at least there aren't always nice labels).

  2. CODECALL Circuit advertisement
    Join Date
    Always
    Posts
    Many

     
  3. #32
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    4,513
    Blog Entries
    8
    Rep Power
    59
    I'm having an issue with creating a disassembler in C/C++. Can someone help? I posted a thread on this in the C/C++ section titled "Need Help With Disassembler".

  4. #33
    Join Date
    Aug 2006
    Posts
    11,209
    Blog Entries
    6
    Rep Power
    101
    Then people would help you in there. this is not exactly the right thread to help you on such thing.

  5. #34
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    4,513
    Blog Entries
    8
    Rep Power
    59
    I made a post here because no one was helping. Kinda letting people know, you know?

  6. #35
    Join Date
    Aug 2006
    Posts
    11,209
    Blog Entries
    6
    Rep Power
    101
    IMO a dissembler is not an easy thing to do... maybe too complicated for people to help you out.

  7. #36
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    4,513
    Blog Entries
    8
    Rep Power
    59
    The problem I'm having is more theoretical. I can handle the disassembler part myself.

  8. #37
    softfalls is offline Newbie
    Join Date
    Jul 2008
    Posts
    2
    Rep Power
    0

    Re: Free Assembly Tutorials

    thanks these web sites will really help a lot

  9. #38
    Coldhearth is offline Learning Programmer
    Join Date
    Oct 2008
    Posts
    88
    Rep Power
    0

    Re: Free Assembly Tutorials

    Hey there, I would like to start learning assembler language but I can't figure out wish assembler to learn... because I'm using an Intel based Macbook pro Intel Core Duo.
    Is this the same assembler of intel based computers (I think x86)? Or isn't this the same?

  10. #39
    Join Date
    Oct 2007
    Posts
    538
    Rep Power
    21

    Re: Free Assembly Tutorials

    Quote Originally Posted by Coldhearth View Post
    Hey there, I would like to start learning assembler language but I can't figure out wish assembler to learn... because I'm using an Intel based Macbook pro Intel Core Duo.
    Is this the same assembler of intel based computers (I think x86)? Or isn't this the same?
    The intel computers are x86 or x86_64 for the 64 bit versions.

    You will likely need to use the assembler that comes as part of the Mac tool chain. I believe they use GCC so the assembler can be invoked with the 'as' command from the terminal.

    That means you want to look up the AT&T syntax. The intel machines have two classes of syntax. The native intel format and the AT&T format used by GCC. Most tutorials would be in the intel format. There might be a NASM port to OSX if you would prefer this. The differences between them are purely cosmetic though. The same calls exist in both.

    A good trick if you know some C is to compile your code to assembly rather than to native code. You can then see the translation and how to do things like invoking library functions and how OS X handles arguments for things like C functions. Make sure you turn off optimisations or it might be unreadable.

    Nice Intel assembler text...

    //edit - if you are struggling there's a good book on Linux assembly programming out there for free. You will need to modify a few things but it is a good introduction to AT&T syntax assembly programming.//

  11. #40
    Join Date
    Oct 2007
    Location
    /dev/null
    Posts
    4,513
    Blog Entries
    8
    Rep Power
    59

    Re: Free Assembly Tutorials

    The Art of Assembly Language Programming

    This covers just about everything a beginner to intermediate programmer would want to know.

+ Reply to Thread
Page 4 of 5 FirstFirst ... 2345 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Free Assembly Tutorials
    By Jordan in forum General Programming
    Replies: 41
    Last Post: 11-09-2009, 06:24 PM
  2. And about assembly tutorials ?
    By outsid3r in forum General Programming
    Replies: 102
    Last Post: 10-09-2008, 05:11 PM
  3. Free Java Tutorials
    By EdSquareCat in forum Java Help
    Replies: 2
    Last Post: 08-21-2007, 11:25 PM
  4. Free Online PHP Tutorials
    By RobSoftware in forum PHP Development
    Replies: 5
    Last Post: 08-24-2006, 02:38 PM
  5. Assembly tutorials
    By Kaabi in forum General Programming
    Replies: 1
    Last Post: 07-05-2006, 09:18 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts