Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best way to learn x86 assembly on a Linux platform? [closed]

Tags:

I have no prior knowledge of assembly programming, and would like to learn how to code x86 assembly on a Linux platform. However, I'm having a hard time finding a good resource to teach myself with.

The Art of Assembly book looks good, but it teaches HLA. I'm not interested in having to learn one way, then relearning it all over again. It also seems like RISC architectures have better resources for assembly, but unfortunately I do not have a RISC processor to learn with. Does anyone have any suggestions?

like image 776
user87630 Avatar asked Apr 06 '09 14:04

user87630


People also ask

Which assembly language does Linux use?

The GNU Assembler, commonly known as gas or as, is the assembler developed by the GNU Project. It is the default back-end of GCC. It is used to assemble the GNU operating system and the Linux kernel, and various other software.

Is assembly same for Windows and Linux?

The assembly language is largely the same and similar. However, neither Windows nor Linux would try to execute an arbitrary file. Most modern operating system refuses to execute a program, unless it have the proper executable headers (e.g. PE or ELF).


1 Answers

http://asm.sf.net has some material on architectures besides x86.

If you are interested in RISC architectures, you could run Linux on Qemu. Qemu emulates several RISC architectures like PowerPC, ARM and MIPS. You might be able to find a ready to use Qemu hard disk image here.

Another way to experiment with RISC architectures would be to use gdb's built-in simulator.

like image 92
sigjuice Avatar answered Oct 13 '22 10:10

sigjuice