[ale] Assembly Language?

Charles Shapiro hooterpincher at gmail.com
Thu Oct 24 09:59:22 EDT 2013


I also haven't done assembly language programming for a really long time.
It is very fun to get into the guts of the machine though, and a background
in assembly language will make you a Better Person and a Better Coder.  For
intellectual curiosity, you might also check out Menuet (
http://www.menuetos.net/ ), which I have actually gotten to boot on some of
my machines.

If you're interested in low-level languages, Forth is worth a look as well.
The assembly-language kernel of a Forth interpreter is relatively simple,
and most of the development environment is written in the language itself.
That means that Forth is often one of the very first languages available on
a new chip. The classic text is Leo Brodie's _Starting_Forth_, now sadly
out of print but available on-line (
http://www.forth.com/starting-forth/). I really enjoyed hacking on
Forth, although I never found commercial
application for it and didn't get as far as writing anything in it beyond
the exercises.

-- CHS



On Wed, Oct 23, 2013 at 8:44 PM, Ed Cashin <ecashin at noserose.net> wrote:

>
> A long time ago I learned assembly for 32-bit x86 using Dr. Paul Carter's
> PDF.
>
>   http://www.drpaulcarter.com/pcasm/
>
> At least, that's my best guess.  I know I learned some, and I know I liked
> nasm as opposed to gas.  Many people feel that nasm is human friendly,
> while gas is gcc friendly.
>
> Once you get used to nasm, it's pretty easy to learn the gcc extended
> inline assembly stuff.  I have created a mnemonic device that I find
> amusing for remembering which way the source and destination operands are
> placed in AT&T (gas) and Intel (nasm) assembly syntax:
>
>   If you're going to AT&T, your destination is New Jersey, on the right.
>   If you're going to Intel, your destination is California, on the left.
>
> Recently I got bothered that I couldn't do asm on x86_64, so I tried some
> stuff and learned about some of the fancy recent Intel features at the same
> time.  My learning exercises are documented on github.  The AVX stuff is
> unfinished, since none of the CPUs I have access to have that feature.  The
> other stuff is believed to work on Mac OS X and Linux.
>
>   https://github.com/ecashin/low/tree/master/x86_64/popcnt
>
> --
>   Ed
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ale.org/pipermail/ale/attachments/20131024/84817fd5/attachment.html>


More information about the Ale mailing list