Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › Programming › Other Programming › Assembly › Learn Assembly Language

Learn Assembly Language

Posts 1–15 of 54 · Page 1 of 4
why06
why06
Learn Assembly Language
Update: 09/30/09 11:00pm EST
Learn Assembly Code
I have noticed this forum has kind of been dying off, but it's a crucial part of hacking (decompiling programs in assembly language). So there are materials posted here for learning assembly. Since this thread is and should stay active simply contact whoever is currently running the thread to add something to it or point out errors. I took out the Reversing section because I felt it was really a seperate ordeal, and there could really be an entire thread/guide just for Reverse Engineering.

Tools/Guides/Tutorials:

Compilers:
take your pick...

FASM [Download]
Flat Assembler. This is a Compiler which come with a semi-IDE I think it is better then MASM32 because you don't have to compiler at command line so it is better for people used to programming in an IDE.

MASM [Download]
Microsoft Macro Assembler
. I believe this is the most popular one.

WinAsm [Installation Insstructions]
WinAsm Studio IDE. An IDE for the MASM and FASM compilers mentioned earlier.
Mentioned by: B1ackAnge1

HLA
High Level Assembler. Not as popular as MASM, but feels more like a HLL and is the compiler used to teach ASM in "The Art of Assembly Language" by: Randy Hyde


Online Tuts, Books, & Guides:
This is where you stop loading and start learning...

ASM: The Book
This is a huge online book. It contains absolutely everything you need to know about Win32Asm.

Table of ASM Instructions [PDF]
This is an Extremely Valuable BIG list of all the x86 asm instructions.

ASM GameDev Tut/Walkthough
This is a six part guide showing how to create a game in ASM. It also introduces some of the basics of ASM. Recommended for people who like to learn through Trial & Error.

Assembly Language Reference
A huge reference for tons of ASM intructions compiled by Dr. ME (not recommended to learn by, but just to refer to)


Source Code:
It's nice to have something to look at...

ASM Source Code
This is a huge collection of source codes written in Win32 Asm language.



Books:
Because you shouldn't have to learn everything online


Books on Assembly
Learn to speak computer...


The Art of ASM 1st ed. In the meantime there is an entire online edition of The Art of Assembly Programming. I have an ereader so I can download the whole pdf and read it as a book


The Art of ASM 2nd ed. Get ready! the Art of Assembly Programming 2nd edition is coming out this December. I suggest everyone to get it. I know I am!


Downloads:
Get them right here on MPGH

AoA.rar [1][2][3][4][5][6][7][8]
This is the entire AoA.pdf that I took the liberty of uploading unto MPGH. The advantage to downloading it here is that I took the time to organize all the .pdf's where they will come out of order if you download them on the author's site.





This list will be updated often. Since I learning ASM as I update this the information listed should be pretty relevant and up to date. Just ask and I will add any new links to this posts. However I also feel this Guide should go on even when I am no longer active on these forums or am dead xL ... So if anyone feels up to keeping the list updated long after I'm gone by all means do it. This a community project and five or so years from now these links may be incorrect.

Current Thread Manager:
why06 [Send me a PM]
Post anything you would like to add in this thread and I will handle it. Or send me a pm.
#1 · edited 16y ago · 17y ago
why06
why06
Table of ASM Instructions [PDF]- This is an Extremely Valuable BIG list of all the x86 asm instructions.
I'm still uploading a lot of files that I have collected overtime. I hope to up date the original post with links to all these uploads. And make a semi curriculum for learning asm.
#2 · edited 17y ago · 17y ago
B1ackAnge1
B1ackAnge1
I still like WinAsm better (UI For Masm32)

Comparing between masm & fasm

Loading an address:

● Equivalent syntax in MASM: mov eax,offset memvar
● Equivalent syntax in FASM: mov eax,memvar

Loading a value:

● Equivalent syntax in MASM: mov eax,memvar
● Equivalent syntax in FASM: mov eax,[memvar]

The Masm syntax just makes a whole lot more sense to me
#3 · 17y ago
why06
why06
Quote Originally Posted by B1ackAnge1 View Post
I still like WinAsm better (UI For Masm32)

Comparing between masm & fasm

Loading an address:

● Equivalent syntax in MASM: mov eax,offset memvar
● Equivalent syntax in FASM: mov eax,memvar

Loading a value:

● Equivalent syntax in MASM: mov eax,memvar
● Equivalent syntax in FASM: mov eax,[memvar]

The Masm syntax just makes a whole lot more sense to me
Ok I'll add it. I'll also add a link to HLA which is the program used by the tutorial. thx BA.
#4 · 17y ago
LE
LegendaryAbbo
I dislike ASM
#5 · 17y ago
why06
why06
Yeh. That's kind of the reason I'm making this... to change peoples perspectives and get them to learn asm.

Update: 09/11/09 7:00pm EST
Code:
Learn Assembly Code
I have noticed this forum has kind of been dying off, but it's a crucial part of hacking (decompiling programs in assembly language). So there are materials posted here for learning assembly as while as for reversing decompiled asm. Since this thread is and should stay active simply contact whoever is currently running the thread to add something to it or point out errors.

Tools/Guides/Tutorials:

Compilers:
take your pick...

FASM [Download] 
Flat Assembler. This is a Compiler which come with a semi-IDE I think it is better then MASM32 because you don't have to compiler at command line so it is better for people used to programming in an IDE.

MASM  [Download] 
Microsoft Macro Assembler. I believe this is the most popular one.

WinAsm [Installation Insstructions] 
WinAsm Studio IDE. An IDE for the MASM and FASM compilers mentioned earlier.
Mentioned by: B1ackAnge1

HLA
High Level Assembler. Not as popular as MASM, but feels more like a HLL and is the IDE used to teach ASM in "The Art of Assembly Language" by: Randy Hyde


Other Tools:
Debuggers and anything else I can find 

OllyDebug 
The only free debugger I know. I am willing to post others.


Online Tuts, Books, & Guides:
This is where you stop loading and start learning...

ASM: The Book
This is a huge online book. It contains absolutely everything you need to know about Win32Asm.

Lenas Reversing for Newbies 
Nice collection of video tutorials aimed particularly for newbie reverse engineers...

Table of ASM Instructions [PDF]
This is an Extremely Valuable BIG list of all the x86 asm instructions.


Source Code:
It's nice to have something to look at...

ASM Source Code 
This is a huge collection of source codes written in Win32 Asm language.



Books: 
Because you shouldn't have to learn everything online


Books on Assembly
Learn to speak computer...


The Art of ASM 1st ed. In the meantime there is an entire online edition of The Art of Assembly Programming. I have an ereader so I can download the whole pdf and read it as a book :)


The Art of ASM 2nd ed. Get ready! the Art of Assembly Programming 2nd edition is coming out this December. I suggest everyone to get it. I know I am! :D


Books on Reversing
Cause it's not just enough to hack it. You gotta crack it!


Reversing: Secrets of Reverse Engineering
 I'm not completely sure about the content this book yet. I am sure you should buy it online! $50 in store $20 online. I have already found a few editing errors while reading it, but when I am done I will post a personal review of the book in this thread.







This list will be updated often. Since I learning ASM as I update this the information listed should be pretty relevant and up to date. Just ask and I will add any new links to this posts. However I also feel this Guide should go on even when I am no longer active on these forums or am dead xL ... So if anyone feels up to keeping the list updated long after I'm gone by all means do it. This a community project and a 5 or so years from now these links may be incorrect.

Current Thread Manager: why06 [Send me a PM]
Post anything you would like to add in this thread and I will handle it. Or send me a pm.
#6 · edited 17y ago · 17y ago
GL
glosol
I can really only speak for myself on this, BUT...

I consider myself above average on many topics, be it mechanical, chemical or software related. When it comes to learning code I cant seem to get a foot in the door. To someone that has a specialized ability it can be hard to stop and consider not everyone else does.
I have asked in various forums where the best place is to start. Its amazing how many people actually take the time to basically tell me "if you dont already know im not gonna tell ya..."
So still to this day I am looking for where the best place to start might be. Remember that to bring others up to speed, you may need to dumb the material down some, so to speak.
Especially with something like learning code, because without a doubt it takes very little to discourage someone from giving it a shot.
I am not joking about the next few questions. These are the blocks I've had and cant seem to get past. Mostly because I feel stupid for having to ask when it seems like I am the only one that doesn't know.

I honestly have no idea what an assembler is. What does it do?

Why should anyone learn C++...wont that be replaced with something better just as soon as I'm done figuring out that?

Is there a specific language to learn and what is it?

Is VB the same code language as C++ or are they all proprietary software that doesn't play well with others?

What is a Compiler, or IDE? Isnt that a hard drive interface cable?

WTF language is this and WTF does it mean?......."High level Assembler. Not as popular as MASM, but feels more like a HLL and is the IDE used to teach ASM"?

Those types of basics. Maybe its not just me thinking like this, but nobody else has decided to speak up?

I want to learn, and there are those of you that want to teach. Maybe we need to have a forum dedicated to Pre-programmers that would explain the basic questions about what and why? That is the only solution I can see for breathing new life into advanced forums like this one.
#7 · edited 17y ago · 17y ago
why06
why06
I you don't understand an answer read through to another question. I most likely answered it there since these question were in no real order I didn't know how much detail I should go through at first, but I tried to make up for it in later answers.

Quote Originally Posted by glosol View Post
I can really only speak for myself on this, BUT...

I consider myself above average on many topics, be it mechanical, chemical or software related. When it comes to learning code I cant seem to get a foot in the door. To someone that has a specialized ability it can be hard to stop and consider not everyone else does.
I have asked in various forums where the best place is to start. Its amazing how many people actually take the time to basically tell me "if you dont already know im not gonna tell ya..."
So still to this day I am looking for where the best place to start might be. Remember that to bring others up to speed, you may need to dumb the material down some, so to speak.
Especially with something like learning code, because without a doubt it takes very little to discourage someone from giving it a shot.
I am not joking about the next few questions. These are the blocks I've had and cant seem to get past. Mostly because I feel stupid for having to ask when it seems like I am the only one that doesn't know.
First off there's no stupid questions. I really believe that... Someone else might flame you, but I won't.

I honestly have no idea what an assembler is. What does it do?
An assembler is sort of like a compiler. Where a compiler usually takes written code and processes it into an intermediate stage an assembler wouldn't have to do that. Of course it would check for errors, but there is no need to optimize code because it is already written in assembly. An assembler will there for take written assembly instructions and create a real program based on those instructions. A Compiler > checks for errors > translates instructions into a more manageable form, an intermediate language. Finally it optimizes its code using advanced algorithms to make the fastest executing code possible. As you might have guessed an assembler is a component of a compiler See here: File:Compiler.svg - Wikipedia, the free encyclopedia

Why should anyone learn C++...wont that be replaced with something better just as soon as I'm done figuring out that?
Code is always going to be changing and improving. The important thing is getting your foot in the door. Also be aware that most languages are for the most part the same. Once you learn a few major concepts its relatively easy to switch over to other languages.
Is there a specific language to learn and what is it?
There's 100's of different languages to learn. It's almost like learning to speak another langauge except I'd have to say it takes a considerable amount less time. You just have to choose the best language for the job. You wouldn't want to learn italian to speak Japanese. And you wouldn't want to code for a Mac using C.


Is VB the same code language as C++ or are they all proprietary software that doesn't play well with others?
They are not the same. I don't know what gave you that idea, even looking at the code with know past experiences you can tell something coded in VB looks much different then C++. VB is mainly used for making graphical front ends to existing C++ code, so I would say they work quite well together.

What is a Compiler, or IDE? Isnt that a hard drive interface cable?
Wow man. Lol. An IDE is an Integrated Development Enviroment. It is a program a programmer would use to build his program. You type your code in the IDE and it compiles it and everything. Basically its like a really fancy text editor for coders.

WTF language is this and WTF does it mean?......."High level Assembler. Not as popular as MASM, but feels more like a HLL and is the IDE used to teach ASM"?
Firstly asm is the human readable version of machine code. This is the code that the computer reads in its internals. It is essentialy the closes we can get to the computer. MASM (Microsoft Assembler) is an assembler, remember what I said about assemblers? HLL is short for High Level Language. It would be good for you to get some basic concepts of programming. You might want a formal introduction. I will not write that in this thread, but here try this: Introduction to Computer Programming - What Is It

Those types of basics. Maybe its not just me thinking like this, but nobody else has decided to speak up?
Trust me I have asked dumber questions then those. We all have to start somewhere. It might take you a little longer then most, but the simple fact that you have been searching for answers for so long tells me ur dedicated and self-motivated to learn about programming. Even a basic knowledge is a very useful skill in the modern day and so if you need any help just ask.

I want to learn, and there are those of you that want to teach. Maybe we need to have a forum dedicated to Pre-programmers that would explain the basic questions about what and why? That is the only solution I can see for breathing new life into advanced forums like this one.
trust me its not as hard as you think. you just need a little push in the right direction. Once you get through this mental barrier everything should come pretty easy to you.

BTW I would have preferred you posted this question somewhere else where more people can see it, but no matter.
#8 · edited 17y ago · 17y ago
GL
glosol
First off I really appreciate your reply. I think that most of the questions that I have are based on terminologies. So your replies to the questions are understandable to me.

you are very correct. wrong forum. maybe another post in the correct forum, with the above information copied to it would be in order? I think it would be better to have you do that so there will be some credibility. Most people look at the number of posts and then decide if its worth looking further... and the information should be shared with others that dont know.
#9 · 17y ago
why06
why06
Oh. I'm not going to do it :P... nice try though.
You'll have to post it yourself in the C++ section. Just ask how or where to get started. Try to give them a few details about what you already know, but since it seems like (from your questions) that you are starting at square one that might not be an issue.

But like I said you'll have to post your questions urself if you put forth the effort I will help, but Im not gonna learn it for you. So post your questions and prepare to face scrutiny. Once we figure out how to help you out we can use you as an example to teach others.
#10 · edited 17y ago · 17y ago
ZE
zeco
Quote Originally Posted by why06 View Post
Oh. I'm not going to do it :P... nice try though.
You'll have to post it yourself in the C++ section. Just ask how or where to get started. Try to give them a few details about what you already know, but since it seems like (from your questions) that you are starting at square one that might not be an issue.

But like I said you'll have to post your questions urself if you put forth the effort I will help, but Im not gonna learn it for you. So post your questions and prepare to face scrutiny. Once we figure out how to help you out we can use you as an example to teach others.
Why06, I think he meant that he wanted you to post the question and answer session you 2 just had, so that it can help others(not ask other questions for him).
Silly Why06 xD.

And it can also be the starting point to a Question and Answer thread in the C++ section. I myself think that's a great idea. In addition to these you can give out some more FAQ's then tell everyone that they are free to ask/add more questions to the thread. If we had a mod to sticky it, i think that would be a great starter. If it eventually Becomes popular enough that it is overflowing with response(too fast that we can't process all the questions, and we forget some), we can ask a moderator to maybe put a subsection in the C++ section or something to that effect.

By the way, which assembly are you learning? I just looked into High Level Assembly. It looks pretty epic.
#11 · edited 17y ago · 17y ago
why06
why06
Quote Originally Posted by zeco View Post
Why06, I think he meant that he wanted you to post the question and answer session you 2 just had, so that it can help others(not ask other questions for him).
Silly Why06 xD.

And it can also be the starting point to a Question and Answer thread in the C++ section. I myself think that's a great idea. In addition to these you can give out some more FAQ's then tell everyone that they are free to ask/add more questions to the thread. If we had a mod to sticky it, i think that would be a great starter. If it eventually Becomes popular enough that it is overflowing with response(too fast that we can't process all the questions, and we forget some), we can ask a moderator to maybe put a subsection in the C++ section or something to that effect.

By the way, which assembly are you learning? I just looked into High Level Assembly. It looks pretty epic.
Hmmm... o_O Guess ur right. My bad :P Guess I could do that. Let me just figure out how it should work....

HLA is more for Developing programs in assembly. It helps you to code in assembly by using a format similar to other HLL's, but its really not necessary. All these IDE are for writing the same kind of assembly which is IA 32. Intels 32 bit ASM language. I however am not trying to learn to code in asm as much as learning how to reverse asm. So I'm kind of going a different approach.

I've already found a lot more sites and more information out. Once I get a good feel of a lesson plan to not only learn to write asm, but learn how to read it and reverse it I will go from there. I think I should update it in a week or two.
#12 · 17y ago
GL
glosol
Yes, actually posting our Q+A session might help others asking the same questions, (and save you from answering them for the 2nd- 3rd- 1000th time)

Thanks to ZECO for picking up whagt I was laying down...

Here's another Q: What is the purpose of this whole thanks button stuff???
#13 · 17y ago
Hell_Demon
Hell_Demon
Quote Originally Posted by glosol View Post
Yes, actually posting our Q+A session might help others asking the same questions, (and save you from answering them for the 2nd- 3rd- 1000th time)

Thanks to ZECO for picking up whagt I was laying down...

Here's another Q: What is the purpose of this whole thanks button stuff???
its for growing your digital penis, nice to have a big one but in the end none of the other guys care :P
#14 · 17y ago
why06
why06
hey glosol ur back . I was getting a bad feeling u might not return. Er okay. I'll post some FAQ and see what happens. And maybe just a general how to get started.

Oh and the purpose of the thanks button is absolutely nothing, its some stupid button that raises the number of times people have thanked you every time they click it. Some people go nuts over it, which I don't get at all.

Quote Originally Posted by Hell_Demon View Post
its for growing your digital penis, nice to have a big one but in the end none of the other guys care :P
Oh wow. xD yeh that about sums it up. LOL
#15 · 17y ago
Posts 1–15 of 54 · Page 1 of 4

Post a Reply

Similar Threads

  • I wanne start learning Assembly plz read.!By Niratsio in Visual Basic Programming
    14Last post 18y ago
  • [Books]Learn Assembly[List][Downloads]By NextGen1 in Assembly
    8Last post 14y ago
  • How to learn Assembly?By why06 in Assembly
    3Last post 17y ago
  • how 2 learn computer languageBy lalokera in Programming Tutorials
    15Last post 16y ago
  • Look inside for great book to learn assemblyBy hobosrock696 in Assembly
    3Last post 15y ago

Tags for this Thread

#assembly#learning#start