🔒 Locked
Learing Assembly/ASM
Advertisement
Original Post
Hi all,
i was just wondering where would be a good place to start learning ASM/Assembly language.
I feel that is should learn this, as it could speed my code up.
"Death is lighter than a feather, duty heavier than a mountain."
Thanx for your help !
what i wanted to know is what "types" of Assembly there are.
when i did a search for "the art of assembly programming" i came on a site that was about "x86 assembly", but here on GameDev i hear lots of people talking about "ASM Assembly".
i also want to know which one is most widely used and which one is the best. in case you haven''t noticed it yet, i''m a COMPLETE novice/newbie on this area, so please bear with me if i''m asking to much..
Thanx very much for your help !!
"Death is lighter than a feather, duty heavier than a mountain."
what i wanted to know is what "types" of Assembly there are.
when i did a search for "the art of assembly programming" i came on a site that was about "x86 assembly", but here on GameDev i hear lots of people talking about "ASM Assembly".
i also want to know which one is most widely used and which one is the best. in case you haven''t noticed it yet, i''m a COMPLETE novice/newbie on this area, so please bear with me if i''m asking to much..
Thanx very much for your help !!
"Death is lighter than a feather, duty heavier than a mountain."
Check out Microsoft MASM... I haven''t personally used it in the past couple years but I hear the latest version is very well integrated with windows and VERY powerful! It''s great for hacking windows. I''m sure there are free assemblers out there but I''m not really familiar with these. Nowadays, I just use the inline assembler in VC6.
You should understand that getting into assembly language means gettin'' into the processor of your computer... you have to understand the basics of how the processor works. Some things you''ll need to know about
Registers: this is temporary storage within the CPU where values are transfered from memory for basic data movement, mathematical operation, etc. Some registers are address registers (like pointers) which point to code, data and stack
Stack: This is temporary storage for the CPU however this resides in RAM memory, not the CPU.
Flags: When certain events are triggered in the CPU there are flags that are set to indicate this. This is used mostly for conditional operations.
Instructions: There are five types of instructions to the CPU... data movement, arithmatic, flow-control, conditional and prcessor control.
Binary: This is VERY important... if you cannot count in binary, don''t even bother with Assmebly until you backtrack and learn it. Decimal is a base 10 number system which is what we normally use in everyday life. Binary is base 2 and Hexadecimal is base 16. When ya understand that 11010010 = D2 = 210, you are ready to start understanding the CPU.
Good luck!
...and Merry Christmas! =)
Many of the truths we cling to depend greatly on our own point of view
Get Tranced!
You should understand that getting into assembly language means gettin'' into the processor of your computer... you have to understand the basics of how the processor works. Some things you''ll need to know about
Registers: this is temporary storage within the CPU where values are transfered from memory for basic data movement, mathematical operation, etc. Some registers are address registers (like pointers) which point to code, data and stack
Stack: This is temporary storage for the CPU however this resides in RAM memory, not the CPU.
Flags: When certain events are triggered in the CPU there are flags that are set to indicate this. This is used mostly for conditional operations.
Instructions: There are five types of instructions to the CPU... data movement, arithmatic, flow-control, conditional and prcessor control.
Binary: This is VERY important... if you cannot count in binary, don''t even bother with Assmebly until you backtrack and learn it. Decimal is a base 10 number system which is what we normally use in everyday life. Binary is base 2 and Hexadecimal is base 16. When ya understand that 11010010 = D2 = 210, you are ready to start understanding the CPU.
Good luck!
...and Merry Christmas! =)
Many of the truths we cling to depend greatly on our own point of view
Get Tranced!
Assembly is just a step up from machine code. Because of this, and the fact that different processors dont operate the same way, you end up with lots of flavors of assembly. ASM is just a shorter way of writing "assembly", not a type. x86 Assembly is the type that is used for the 80x86 family of processors (your intel processors, and those compatible with them (AMD,...)). There is a different assebly language for Moterolla chips.
Z.
Z.
Thanx alot for your help guys.
And please, keep the posts coming.
Any good websites/books to start learning Assembly?
-The Dragon
"Death is lighter than a feather, duty heavier than a mountain."
And please, keep the posts coming.
Any good websites/books to start learning Assembly?
-The Dragon
"Death is lighter than a feather, duty heavier than a mountain."
As previously stated, "The Art of Assembly." It''s a free book in HTML and PDF formats (do they have one in PS? I don''t remember...). Anyway, here''s a link. However, guaging from your posts, you''re not yet ready for assembly programming. Take some time to learn how to speed up your code without it. If you can''t program well in your primary language, chances are assembly isn''t going to help a whole hell of a lot. Just my thoughts.
Some other potentially useful sites I forgot to mention:
Win32 Asm Programming
Dolphinz Win32 ASM home page
Iczelion''s Win32 Assembly Homepage
Not certain if that last one is still active, I can''t seem to pull it up today. Oh well, if I find some more old bookmarks of mine I''ll post them.
Win32 Asm Programming
Dolphinz Win32 ASM home page
Iczelion''s Win32 Assembly Homepage
Not certain if that last one is still active, I can''t seem to pull it up today. Oh well, if I find some more old bookmarks of mine I''ll post them.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement