Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Mar 2005 23:05:03 -0600
From:      Ryan Sommers <ryans@gamersimpact.com>
To:        klowd9 - <klowd92@hotmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Freebsd Asm
Message-ID:  <423126FF.3080608@gamersimpact.com>
In-Reply-To: <BAY10-F421B664A0D3A627CAE5B3EBF530@phx.gbl>
References:  <BAY10-F421B664A0D3A627CAE5B3EBF530@phx.gbl>

next in thread | previous in thread | raw e-mail | index | archive | help
klowd9 - wrote:
> If anyone can share his own files, or give any tips, would be nice.

You aren't going to find many, if any, userland include files for 
assembly. The system is designed to be very portable and assembly is not.

My first response, and likely that of anyone else, would be what are you 
doing that it needs to be done in assembly? If all you are looking for 
is some experience working with assembly then that's fine; there are a 
lot of good guides out there that teach the basics. Otherwise though if 
you're looking to get into developing on FreeBSD I'd recommend sticking 
with a higher level language.

I think I remember a few guides out there on doing assembly on FreeBSD, 
can't remember them off the top of my head though. Honestly, coming from 
someone that went through that learning curve, a good ol copy of MSDOS 
can be a better teaching aid than doing assembly on a modern OS. I 
imagine almost every modern OS running on x86 will run in protected mode 
and therefore somewhat shield you from getting down and dirty with the 
processor. Using DOS will let you mess around with entering protected 
mode and other things.

Another note, careful about using Linux guides on FreeBSD. Specifically 
be careful when it comes to system calls. Linux, like Windows, uses 
registers for passing arguments to syscalls, extras spill onto the 
stack, FreeBSD however passes all parameters on the stack.

-- 
Ryan Sommers
ryans@gamersimpact.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?423126FF.3080608>