Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Mar 3rd, 2012, 1:14 PM   #1
Purity_Lake
Hobbiest Programmer
 
Purity_Lake's Avatar
 
Join Date: May 2011
Location: Ireland
Posts: 131
Rep Power: 6 Purity_Lake is on a distinguished road
recommended tutorials for Assembly

I'm currently interested in learning the assembly programming language. I don't want people commenting on this giving me any reasons why I shouldn't learn assembly I just want some recommendations for tutorials. I use Windows 7, 64 bit OS so if anyone can advise tutorials that suit my OS as I have read that portability can be lacking in this language.
Thanks
Purity_Lake is offline   Reply With Quote
Old Mar 4th, 2012, 3:08 PM   #2
sixstringartist
Programming Guru

 
Join Date: Jun 2005
Posts: 1,333
Rep Power: 13 sixstringartist will become famous soon enough
Re: recommended tutorials for Assembly

Quote:
Originally Posted by Purity_Lake View Post
so if anyone can advise tutorials that suit my OS as I have read that portability can be lacking in this language.
Thanks
Assembly maps directly to machine language and in some cases there are multiple versions of assembly for the same architecture. This is why ASM is not portable, and anytime you are discussing assembly it is important to distinguish what architecture you are writing it for.

Here is an excellent classic tutorial on ASM for win32: http://win32assembly.online.fr/tutorials.html

Now keep in mind this uses TASM which is pretty old. I recommend using that for reference more than anything and get MASM instead: http://www.masm32.com/

Also grab a copy of Ollydbg so you can step through your programs and see whats going on: http://www.ollydbg.de/

If your goal is simply to get a better low level understanding of programming I would offer two different approaches to this. One would be to grab a book on compilers and study the process of taking a high level language and producing an object file. I recommend Programming Language Pragmatics: http://www.amazon.com/Programming-La...dp/0123745144/

Unfortunately, compiler textbooks are not cheap. If that is out of your ballpark, consider using a number of online resources to get a high level idea of compilers.

The second alternative I would recommend is to study reverse engineering topics. There are a number of good resources out there with legal, non-copywrited crackme's (crackme.de) to practice on. Also Lena's tutorials on Tuts4you.com are excellent. This will give you a very good mental picture of how compilers translate blocks of code into machine instructions, store and represent data, make decisions, etc., as well as aspects of linking, loading, and object file formats. This will give you vastly more relevant examples to how the real world looks at a low level, opposed to trivial ASM examples. As a disclaimer, discussing cracking programs is against the rules here even if it is a non-copywrited program, so you'll have to go elsewhere for any help on it .
sixstringartist is offline   Reply With Quote
Old Mar 4th, 2012, 3:20 PM   #3
Purity_Lake
Hobbiest Programmer
 
Purity_Lake's Avatar
 
Join Date: May 2011
Location: Ireland
Posts: 131
Rep Power: 6 Purity_Lake is on a distinguished road
Re: recommended tutorials for Assembly

Quote:
Originally Posted by sixstringartist View Post
Assembly maps directly to machine language and in some cases there are multiple versions of assembly for the same architecture. This is why ASM is not portable, and anytime you are discussing assembly it is important to distinguish what architecture you are writing it for.

Here is an excellent classic tutorial on ASM for win32: http://win32assembly.online.fr/tutorials.html

Now keep in mind this uses TASM which is pretty old. I recommend using that for reference more than anything and get MASM instead: http://www.masm32.com/

Also grab a copy of Ollydbg so you can step through your programs and see whats going on: http://www.ollydbg.de/

If your goal is simply to get a better low level understanding of programming I would offer two different approaches to this. One would be to grab a book on compilers and study the process of taking a high level language and producing an object file. I recommend Programming Language Pragmatics: http://www.amazon.com/Programming-La...dp/0123745144/

Unfortunately, compiler textbooks are not cheap. If that is out of your ballpark, consider using a number of online resources to get a high level idea of compilers.

The second alternative I would recommend is to study reverse engineering topics. There are a number of good resources out there with legal, non-copywrited crackme's (crackme.de) to practice on. Also Lena's tutorials on Tuts4you.com are excellent. This will give you a very good mental picture of how compilers translate blocks of code into machine instructions, store and represent data, make decisions, etc., as well as aspects of linking, loading, and object file formats. This will give you vastly more relevant examples to how the real world looks at a low level, opposed to trivial ASM examples. As a disclaimer, discussing cracking programs is against the rules here even if it is a non-copywrited program, so you'll have to go elsewhere for any help on it .
Thanks sixstringartist, i'm not much for remembering techincal terminology so I wasn't sure how to ask what I was asking, nor was I certain what architecture my computer is running on
Purity_Lake is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Recommended Java tutorials trying to progrss to SCJP funkey_monkey Java 6 Feb 22nd, 2007 3:16 PM




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 4:27 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC