Page 1 of 1

Hello Pros

Posted: Mon Feb 07, 2011 11:12 pm
by Jediah
Hiya guys!
First i would like to say, your site is awsome.
i am a bit confused, i use ubuntu 10.10 what kinda software do i need for assembly?
and how do i do it in ubuntu?
i have some VB C# express experience.
can someone tell me how i start?

Re: Hello Pros

Posted: Tue Feb 08, 2011 2:58 am
by Solar
Try this:

Code: Select all

$ gcc -v
If this gives you a "command not found", do this:

Code: Select all

sudo apt-get install gcc
That installs you the GCC compiler, which by default also installs binutils (i.e., linker, GNU assembler, objdump etc.). You might also want to 'sudo apt-get install make' and follow the Makefile tutorial while you're at it.

I strongly recommend stopping there, and trying your hand at generic user-space C / ASM coding for quite a while before walking the OS Dev road any further. You have to be familiar with language and toolchain before you stand a chance to find anything but frustration in kernel space.

Re: Hello Pros

Posted: Tue Feb 08, 2011 5:37 am
by Jezze
Perhaps also depending on preferences:

Code: Select all

sudo apt-get install nasm

Re: Hello Pros

Posted: Tue Feb 08, 2011 6:26 am
by Solar
Ah, damn. I thought I could lead an untarnished soul on the road of enlightenment. Now you've spoiled his immortal soul. 8)

Re: Hello Pros

Posted: Tue Feb 08, 2011 9:35 am
by Combuster
I would not ever recommend Binutils/GAS for doing x86 assembly. It deviates from the official manuals enough that they become an inadequate development resource - and then I mean things like renaming opcodes for no apparent reason (and all the other sillyness even intel_syntax noprefix does not fix).

GAS is the backend for GCC, let's not use it for something it wasn't meant to do.

Re: Hello Pros

Posted: Tue Feb 08, 2011 12:46 pm
by quok
And yet you must be familiar with the differences of GAS if you're going to use inline assembly at all. That, and the fact that GAS comes with Binutils, is exactly why I prefer to use GAS and not NASM. I like to keep the number of dependencies needed to build my projects to a minimum as much as possible. That's also why I'm sticking with GNU Make when there are (arguably) much better replacements out there.

Besides, AT&T syntax is the One True Syntax. Anything else amounts to heresy.

Re: Hello Pros

Posted: Tue Feb 08, 2011 1:42 pm
by Combuster
Religious issues aside, yasm works as a replacement for gas, and can do proper intel syntax. Two camps happy.

Re: Hello Pros

Posted: Tue Feb 08, 2011 3:55 pm
by Jediah
Thank you all for your quick answare, you guys are awsome!