HELLO AND WELCOME! Before you can post your question, you'll have to register -- it's completely free and registered users see less advertising! If you just want to browse through the existing questions, just select the forum that you want to visit from the selection below. Otherwise, click here to register!. We highly recommend that you print a copy of our Guide for New Members. Enjoy!

The time has come to learn ASM

I&#039;ve started to learn it before but never went all the way, I understand the basic (mov stuff into registers, then exec that, jump to different locations, etc) but I don&#039;t at all know assembly. Any links you guys can provide with howtos or information? Linux on x86 is my target platform.

Re:The time has come to learn ASM

The best way to learn without taking a formal course is to write simple programs and take a look at the assembly. Write a simple hello world in C, and run &quot;objdump -dt filename &gt; outfile.asm&quot; on the executable. This will produce an assembly listing with corresponding symbol table. The assembly used is GNU assembly. Different processors have different languages, and dialects exist within each subset (I&#039;ve seen three separate dialects of assembly that do the same thing on a Motorola Coldfire processor, plus GNU assembly makes 4). If you learn GNU assembly, you can use GNU tools and hence make your life easier.

A word of warning...things like subroutine jumps are going to make little sense unless you have a feel for how compilers work. I suggest you google for things like parameter passing (register vs stack-based) in assembly before you try to tackle that.

Keep in mind this is for coding assembly in protected mode... apparently most teach assembly in real mode.

Oh, and it uses C to set &quot;everything up for you.&quot; I&#039;m new to assembly so I&#039;m not quite sure what &quot;everything&quot; is... probably all your segments and such. I better get to work!