# Beginning x86 assembly \[FASM\]

**URL:** <https://forum.kirupa.com/t/beginning-x86-assembly-fasm/268980>\
**Category:** programming\
**Created:** [August 21, 2008, 4:01am UTC](https://forum.kirupa.com/t/beginning-x86-assembly-fasm/268980 "2008-08-21T04:01:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![SpyrL](https://avatars.discourse-cdn.com/v4/letter/s/90db22/32.png) [@SpyrL](https://forum.kirupa.com/u/SpyrL)\
**Post date:** [August 21, 2008, 4:01am UTC](https://forum.kirupa.com/t/beginning-x86-assembly-fasm/268980/1 "2008-08-21T04:01:33Z")

</div>

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](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?

---

<div class="post-metadata">

**Author:** ![SpyrL](https://avatars.discourse-cdn.com/v4/letter/s/90db22/32.png) [@SpyrL](https://forum.kirupa.com/u/SpyrL)\
**Post date:** [August 24, 2008, 11:05am UTC](https://forum.kirupa.com/t/beginning-x86-assembly-fasm/268980/2 "2008-08-24T11:05:28Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![sekasi](https://avatars.discourse-cdn.com/v4/letter/s/5f8ce5/32.png) [@sekasi](https://forum.kirupa.com/u/sekasi)\
**Post date:** [August 24, 2008, 11:11am UTC](https://forum.kirupa.com/t/beginning-x86-assembly-fasm/268980/3 "2008-08-24T11:11:08Z")

</div>

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…

---

<div class="post-metadata">

**Author:** ![niubay](https://avatars.discourse-cdn.com/v4/letter/n/a4c791/32.png) [@niubay](https://forum.kirupa.com/u/niubay)\
**Post date:** [August 24, 2008, 1:59pm UTC](https://forum.kirupa.com/t/beginning-x86-assembly-fasm/268980/4 "2008-08-24T13:59:29Z")

</div>

[QUOTE=SpÿrL;2377664]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?[/QUOTE]

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](http://www.emu8086.com/assembly_language_tutorial_assembler_reference/reference.html) 😉
