Sign in to follow this  
Followers 0
blackzero

Assembly

19 posts in this topic

I've been trying to find a good tutorial for learning assembly, im a bit confused because im pretty sure that its telling me that with each different type of computer there is a different way of doing assembly, well every tutorial i find is x86 but i have a 64-bit processor so im pretty sure that means that i have to do things slightly different? if i'm wrong about any of this please correct me but if i am right does anyone know of a 64-bit assembly tutorial cause i seem to be only able to find the x86 ones and i have tried googleing for a 64-bit one but im not even completly sure what i need to loook for in order to get started, i do have some programming experience in c, c++, c#, and java but i want to find a tutorial that treats you like a complete newb just so that i know they will cover everything so i dont miss anything. thanks in advance for any help anyone can give me in finding more info.

0

Share this post


Link to post
Share on other sites

the 64bit intel/amd cpus are just an extended and expanded version of the x86 processors. The instruction set and registers are basically identical with some additions to the x86_64 processors. Assuming you are using Linux, the book you want to get is Professional Assembly Programming from Wrox. It's the best resource I've found for learning ia32 assembly. It doesn't cover long mode (64bit support) but honestly most of what you need for that can be found in the intel architecture manuals which are available in printed and digital format on the intel website for free.

Edited by livinded
0

Share this post


Link to post
Share on other sites

thank you for such a quick response, well i am using windows, i know shameful but every attempt at learning linux has failed especially since i have a newer laptop that linux has no drivers for the wireless card and i refuse to go without wireless lol, so is it that the 64-bit version has some extra ones or are some of the x86 ones changed?

0

Share this post


Link to post
Share on other sites

why did you remove the part on the art of assembly?

0

Share this post


Link to post
Share on other sites
why did you remove the part on the art of assembly?

Because it wasn't the book I was thinking of and I can't remember the name of the correct one.

0

Share this post


Link to post
Share on other sites

oh well i got art of assembly but it seems to be somewhat compiler specific, its talking about specifically using the HLA assembler...i dont know if that means that the HLA assembler adds its own stuff so i couldn't compile with other compilers or if it doesn't mean anything at all, but i will have to read over that part again cause i dont want a compiler specific tutorial, i just want to learn the basic concepts of assembly, one of my goals is to make a program to allow me to write directly to a flash drive in a custom formatting so that other people wouldn't even be able to tell something is even on the flash drive unless they have my program...thanks for your help

0

Share this post


Link to post
Share on other sites

There is no reason to use assembly to write this, it could be done with any language which supports file I/O. HLA is basically a bunch of macros that you drop assembly around. There are high level conditional macros and other things you would find in higher level languages which don't directly map to an opcode of the architecture.

0

Share this post


Link to post
Share on other sites

I bought this book a few years ago:

http://www.amazon.com/Assembly-Language-St.../dp/0471375233/

I really like it. It has a very light writing style, so it is somewhat easy to follow.

I think for assembly language, a "tutorial" would be insufficient. It's not something like you may find in other languages where, for example, if you are already pretty good with Python, you would tend to pick up Ruby fairly quickly. Assembly language is its own beast, and involves a LOT of memorizing magic numbers and seemingly-cryptic content to make it work.

I've never made a real serious go at it, but I still highly recommend the book. If you want to get down to a level closer to the hardware, assembly language is the place to be.

0

Share this post


Link to post
Share on other sites
I bought this book a few years ago:

http://www.amazon.com/Assembly-Language-St.../dp/0471375233/

I really like it. It has a very light writing style, so it is somewhat easy to follow.

I think for assembly language, a "tutorial" would be insufficient. It's not something like you may find in other languages where, for example, if you are already pretty good with Python, you would tend to pick up Ruby fairly quickly. Assembly language is its own beast, and involves a LOT of memorizing magic numbers and seemingly-cryptic content to make it work.

I've never made a real serious go at it, but I still highly recommend the book. If you want to get down to a level closer to the hardware, assembly language is the place to be.

I was going to propose that book which I also own. Definitely a great book on assembly that covers greatly the background knowledge you should have before getting into the real stuff, so you don't get lost at all. Buy it, it is worth it.

I also agree with the "don't go for tutorials". Tutorials on the internet will usually get directly to the core of the content, which is far too fast for most people. You really need reading material of the quality of a good book.

0

Share this post


Link to post
Share on other sites

I also have that book, not only is it good for learning basic assembly, but how everything works and used to work (segmented memory) on a very fundamental level. Its well written and is just an excellent read even if you never plan on writing in assembler. By learning the low level stuff, you have a better understanding of what your high level code is doing and how you can optimize it/strengthen it.

0

Share this post


Link to post
Share on other sites

thanks a lot guys, ill see about obtaining a copy of this

0

Share this post


Link to post
Share on other sites

That was the book I was trying to think of for windows.

0

Share this post


Link to post
Share on other sites

Does any body have a link to order the intel docs? I remember someone on IRC a while back talking about ordering them. Maybe it was Wintermute21?

0

Share this post


Link to post
Share on other sites

I found a book by the name of "IBM PC Assembly language programming" by Peter Able very useful.

0

Share this post


Link to post
Share on other sites
I remember someone on IRC a while back talking about ordering them. Maybe it was Wintermute21?

Yeah, that was me, hehe.

i can attest to the fact

that shipping is super-fast,

it took 6 days from the time i

called Intel to the time they were

at my door :)

0

Share this post


Link to post
Share on other sites

I'm also interested in learning assembly. I just ordered the book Reversing: Secrets of Reverse Engineering. It looks like it's covering a lot of the stuff I'm interested in learning, and has good reviews, but I haven't actually gotten it in the mail yet.

0

Share this post


Link to post
Share on other sites

I also just started to read that book, I'm through the first and second chapter so far, and it does seem good, knowledge of assembly language will help because the book only provides a cursory overview of IA-32 assembly. I would say read that, then you will know what you don't know, which is half the battle sometimes.

0

Share this post


Link to post
Share on other sites

Programming from the Ground up is a free book on IA32 asm; it covers it using the *nix environment

It's what I read.. I liked it - google it

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0