I started out on an IBM 360 assembler out of school. The 360 used stone knives and bear skins.  I picked up Mac80 (as they called it back then) from the Intel manuals.  Now I find myself digging through X86, PPC and Sparc in dumps quite often.  Don't know how anyone can debug code without knowing a little assembly.  I found that reading the assembly that comes out of the compiler is a good starting point, along with a machine code reference manual.
 
 Might I suggest downloading the Atmel IDE and compiler.  Atmel chips run everything from 8 pin ICs to 64 pin with Mbs of flash, eeprom and RAM memory.  The IDE has a fairly nice emulator that lets you watch as instructions are run.  Gives you a nice feel for using registers, stacks, and mapped IO.  The IDE is much like the VisualC++ 6.0 IDE and there are Linux versions as well.  Even runs gcc.

Brian Hurt <bhurt at spnz.org> wrote: 

On Fri, 20 Jul 2007, gramlich wrote:

> Well, I am interested in learning assembly to understand the computer, I
> was just thinking that x86 would be the way to go since it's the type of
> machine I own.

The problem with the x86 is all the legacy crap.  Not to mention quite a 
few flat out bad designs, plus a whole boatload of unnecessary complexity 
no one uses- now or ever.

>
> How successful would I be trying to get a ppc processor emulated in
> Qemu? I've used it for testing out other distros, but it seems a bit
> unstable even when the emulated machine is an x86.

Actually, the more I think about it, the more I think 68K would be a 
better first assembler.  There are quite a few 68K assemblers kicking 
about.  EASy68k looks nice, but it's windows-only:
http://www.monroeccc.edu/ckelly/EASy68K.htm

One other thing I'd consider is finding an old PPC or 68K Mac to play on- 
one can probably be had for cheap if not free.  This list is a good place 
to ask.

>
> What's your advice? Also, what is this high level assembly I keep
> reading about. Is it pseudo code for teaching purposes or is it
> legitimate?

It's called "C", and I recommend learning it after learning assembly 
language.  C makes a heck of a lot more sense if you know what's going on 
at the assembler level (*any* assembler)- for example, the pointer/array 
confusion makes perfect sense when you remember that a pointer is just an 
address on the assembly level.

Brian


_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
tclug-list at mn-linux.org
http://mailman.mn-linux.org/mailman/listinfo/tclug-list



--- 
Wayne Johnson,                         | There are two kinds of people: Those 
3943 Penn Ave. N.          | who say to God, "Thy will be done," 
Minneapolis, MN 55412-1908 | and those to whom God says, "All right, 
(612) 522-7003                         | then,  have it your way." --C.S. Lewis

       
---------------------------------
Moody friends. Drama queens. Your life? Nope! - their life, your story.
 Play Sims Stories at Yahoo! Games. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mn-linux.org/pipermail/tclug-list/attachments/20070729/e8dd8361/attachment.htm