Learning assembly language under linux is not easy at all. There is no documentation to be found on the net to start you up. I've been experiencing the problem for years. The best I can suggest is to read an online book that is very complete:
if you Google "art of assembly" you'll get it listed first, it's by Randall Hyde and you'll find the same material referenced many times. The trouble is to learn something you have to go back to his DOS version which is for 8 and 16 bits registers but quite helpful and everything you'll learn will apply to Linux except the system calls and a few other minor details.
There used to be a few sites you could visit for examples of code but they're not there anymore.
This DOS version is quite old be still valid so don't be deterred. Next is how you want to use assembly, you've got 2 options:
1) writing each line of code and making your own system calls (which is what I do)
2) using assembly as a high level language, you learn about libraries and special commands which you type and this high level assembly will insert the necessary code for you and call routines from the libraries.
Personnally I hate option 2, if you want to make a career of it I suppose it's OK otherwise I reckon you can forget about it.
Option 2 is the way Randall Hyde has gone with what he calls if my recollection is correct HLA (high level assembly)
There is a few assemblers to choose from but I use NASM (network assembler) which is initially a Linux assembler but is now also available for windows. It also has an Intel syntax and is for 32 bits registers and newer processors.
So after you learn the basics from any online tutorial you find, NASM will put you up to date. (NASM is part of most distros so you probably have it already but not installed by default).
Most of the short info available on the net tend to exist to replace short snippets of C code to assembly or using assembly and C libraries but there is occasionally one that will teach you something.
I learned assembly under dos with A86/A386 Macro assembler D86/D386 Debugger by Eric Isaacson who was part
of the team that developed the first Intel assembler. The manual coming with the package is terse but the debugger is a beauty giving you among other things the option to proceed with your program one line at the time and seeing the result in registers and memory as you go plus other things. The cost used to be about US$80.
For the system calls go to
the doc is in English
At one stage, I thought I had to stop using assembly and I bought myself a book about C, however, after I typed in
my first program in C and found out the size of the resulting program I put it back on the shelf and won't probably use it at all. I found it easier to learn assembly than to learn C.
Keep this post alive if you have more questions (or discoveries), I'll help if I can.