LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Closed Thread
  Search this Thread
Old 02-18-2013, 03:36 PM   #1
doughyi8u
Member
 
Registered: Apr 2010
Posts: 254

Rep: Reputation: 10
assembly language book suggestions


I'm thinking of learning assembly but want to learn for windows and linux in both 32 bit and 64 bit. I've looked at a few books but wanted some advice. Is there a book that covers both linux and windows and 32 bit and 64 bit or should I expect to do a lot of reading (multiple books)?

Any suggestions or advice is appreciated.
 
Old 02-18-2013, 07:23 PM   #2
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,610
Blog Entries: 4

Rep: Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905
My advice is this ... download the "kernel source" packages for your favorite Linux distro, and do some poking-around in the /arch subdirectory.

In this extremely-rarified world, you will most likely find all of the actual application that you will ever actually need for "assembly language programming." And, there you will also find its (almost...) only actual remaining application: as asm{} declarations in a "C" or "C++" program.

It is very-definitely useful to understand about machine architectures, and to understand in-depth how your high-level-language expressions are translated into machine-architecture terms. But no, you should not expect to beat a language-compiler at its own game, and no, you should not have to dumpster-dive into the differences between the Linux and the Windows operating-system environments.

The code that you will find in /arch is, in fact, extremely instructive: the express intention of this code is to abstract away the architecture-specific aspects of Linux into a series of architecture-independent ideals, without sacrificing efficiency.
 
Old 02-19-2013, 02:10 AM   #3
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742
this could be a good start point
http://www.drpaulcarter.com/pcasm/
 
Old 02-19-2013, 02:35 AM   #4
NevemTeve
Senior Member
 
Registered: Oct 2011
Location: Budapest
Distribution: Debian/GNU/Linux, AIX
Posts: 4,851
Blog Entries: 1

Rep: Reputation: 1868Reputation: 1868Reputation: 1868Reputation: 1868Reputation: 1868Reputation: 1868Reputation: 1868Reputation: 1868Reputation: 1868Reputation: 1868Reputation: 1868
> I'm thinking of learning assembly but want to learn for windows and linux in both 32 bit and 64 bit.

You seem to think that Assembly is for application development, which is not the case. Plus, it is not meant for beginners.
 
Old 02-19-2013, 07:44 AM   #5
doughyi8u
Member
 
Registered: Apr 2010
Posts: 254

Original Poster
Rep: Reputation: 10
My reason for wanting to learn assembly is to write shellcode. I know it's not for application development.
 
Old 02-19-2013, 08:00 AM   #6
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,610
Blog Entries: 4

Rep: Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905Reputation: 3905
Hmmm...

Quote:
Originally Posted by http://en.wikipedia.org/wiki/Shellcode :
In computer security, a shellcode is a small piece of code used as the payload in the exploitation of a software vulnerability. It is called "shellcode" because it typically starts a command shell from which the attacker can control the compromised machine, but any piece of code that performs a similar task can be called shellcode. Because the function of a payload is not limited to merely spawning a shell, some have suggested that the name shellcode is insufficient. However, attempts at replacing the term have not gained wide acceptance. Shellcode is commonly written in machine code.
Uh huh. And you think we're going to help you with that ...
 
Old 02-19-2013, 08:06 AM   #7
acid_kewpie
Moderator
 
Registered: Jun 2001
Location: UK
Distribution: Gentoo, RHEL, Fedora, Centos
Posts: 43,417

Rep: Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985Reputation: 1985
Nope. Thread closed.

Whilst you are, of course, free to learn whatever languages you wish, we aren't here to help you learn to attack systems.

Last edited by acid_kewpie; 02-19-2013 at 08:07 AM.
 
  


Closed Thread


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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 Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Assembly Language ashish anand Programming 9 10-18-2011 10:53 PM
assembly language ramorous24 Programming 4 08-21-2011 11:31 PM
assembly language! please help me! thanks in advance! topheraholic Programming 3 04-16-2011 09:31 AM
Is Assembly Language considered a Structured Language? theKbStockpiler Programming 4 01-30-2011 09:09 AM
SPARC assembly language jclark00001 Programming 3 02-26-2003 08:52 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 09:49 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration