The forums have permanently moved to forum.kirupa.com. This forum will be kept around in read-only mode for archival purposes. To learn how to continue using your existing account on the new forums, check out this thread.


Results 1 to 9 of 9

Thread: Beginning x86 assembly [FASM]

  1. #1

    Beginning x86 assembly [FASM]

    OK. So what now?

    Does anyone here on kirupa have x86 assembly experience?
    (For those who dont know what x86 is, its a low-level language. http://en.wikipedia.org/wiki/X86_assembly)
    I have JUST started to learn x86 assembly for windows, and have basically made a 'Hello World!' with it. I can understand the hello world code quite easily.

    But then I hit a wall, there is like no help on starting x86 out there..
    What now...

    Its hard as hell to get started in x86 assembly =/

    So if anyone has x86 assembly experience.... can you point me in the right direction?

  2. #2
    110
    posts
    Registered User
    i have some exposure to assembly, however that was in a class where we didnt really do much hard coding. do you have any more specfic questions, so that i can let you know if i know enough?

  3. #3
    Ahh OK here is a good question.
    I want to see how assembly is coded compared to say, a C++ program (or C, and yes I know that there will be a few random things that C will throw into it)
    So If I make a simple program that prints out hmm.. the Fibonacci numbers, I want to "disassemble" the C++ code into assembly and that way I can compare the two and see the extra stuff C++ will put in it.
    So.. What is the easiest way to do this? / How can this be done?

  4. #4
    I used to code assembler back in the day of the gathering in denmark and assembly in finland. I have no clue on online resources but I know there are a LOT of good solid books you can buy on the topic..

  5. #5
    Quote Originally Posted by Sp˙rL View Post
    Ahh OK here is a good question.
    I want to see how assembly is coded compared to say, a C++ program (or C, and yes I know that there will be a few random things that C will throw into it)
    So If I make a simple program that prints out hmm.. the Fibonacci numbers, I want to "disassemble" the C++ code into assembly and that way I can compare the two and see the extra stuff C++ will put in it.
    So.. What is the easiest way to do this? / How can this be done?
    Well, u could use ollydbg and see what happens in both the cases.. probably u will just see some extra machine code in the program done in c++.
    Anyway there are lots of tutorials around, just search in google or, if u want a good assembly reference, look here

  6. #6
    its a nice PDF of a book, starts from the beginning but you can skip forward and continue from where you left off. Linux based but assembly non-the-less.

    Programming From the Ground Up

  7. #7
    Start using something like W32dasm or HIEW if you want to see something dissassembled. IDA is great, but expensive.

    Ollydbg is more of a debugger than a disassembler and can be confusing for newbies.

    I guarantee you'll see HUGE differences in the code you write in ASM, and the ASM generated by a C++ compiler.

  8. #8
    If you use linux you can turn C++ to assembly by simply doing gcc -s main.cpp foo.s. I've only programmed assembly for the sparc processor, so I'm not sure what x86 is like.

    As mentioned there is a huge difference. Compilers suck at writing clean assembly so you can remove a lot of the stuff normally and it will still function the same way. It's one of the reasons RISC architecture is so important.

  9. #9
    thanks for the advice guys!

    Nice PDF btw dozza, its pretty fat lol. but it seems to touch on alot of things which is good,
    even though it is GNU/linux, and god knows how old, i dont care, ill run a virtual linux and see how i go.

    and btw TheColonial, I learnt how to use Ollydbg, but then I forgot, and Ive been confusing myself with it since. haha

    Thanks again people much appreciated.

Thread Information

Users Browsing this Thread

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

Posting Permissions

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

Home About kirupa.com Meet the Moderators Advertise

 Link to Us

 Credits

Copyright 1999 - 2012