#77270 - jake2431 - Wed Mar 29, 2006 9:59 pm
Hello everyone, I am starting my CS degree in the fall and want to start studying for it( I have already started learning C++ and already know a bit of C). Anyway, I wanted to know what books(I like books rather that tutorials online, but you can list those also) you guys recommend for learning assembly. I guess I want a book that introduces(and is somewhat easily understood) the asm language for the x86 processors mainly, but if there are any good books that teach arm7 or 9 assembly for begginers that would be great to. Also, please state why you recommend this particular book.
Thanks,
-Jake
#77286 - poslundc - Wed Mar 29, 2006 11:34 pm
I don't really have any books to recommend... the only one I have from university is on the MIPS architecture, which is probably irrelevant to you. (I also have one on the Apple II somewhere...)
One piece of advice I will give you, though, is that if you have a reference to the instruction set handy, the best technique I know of to self-teach yourself the basics is to write some simple C functions and look at the assembly output generated by the compiler (for GCC, use the -S flag). I don't know if it would be more difficult with x86 ASM, though, due to the less straightforward nature of the architecture than ARM.
Dan.
#77291 - tepples - Thu Mar 30, 2006 12:04 am
poslundc wrote: |
I don't really have any books to recommend... the only one I have from university is on the MIPS architecture |
Computer Organization and Design by Patterson and Hennessy (ISBN 1-55860-428-6), right?
Quote: |
which is probably irrelevant to you |
Unless someone is planning on defecting from GBA/DS homebrew to PSP homebrew.
Quote: |
One piece of advice I will give you, though, is that if you have a reference to the instruction set handy, the best technique I know of to self-teach yourself the basics is to write some simple C functions and look at the assembly output generated by the compiler (for GCC, use the -S flag). |
I agree, but this won't work on a platform where the assembler is affordable but the C compiler costs four figures USD *cough* PIC microcontrollers *cough*.
Quote: |
I don't know if it would be more difficult with x86 ASM, though, due to the less straightforward nature of the architecture than ARM. |
Darn right.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#77361 - poslundc - Thu Mar 30, 2006 5:16 pm
tepples wrote: |
poslundc wrote: | I don't really have any books to recommend... the only one I have from university is on the MIPS architecture |
Computer Organization and Design by Patterson and Hennessy (ISBN 1-55860-428-6), right? |
You're half-right, mostly because I'd forgotten that my book is actually on SPARC, which is extremely similar to MIPS... but I have COD as well, which I've never really thought of as a MIPS book (because of its low level, indepth focus) even though it follows that architecture.
Dan.
#77381 - jake2431 - Thu Mar 30, 2006 8:44 pm
Thanks guys. What I ended up doing was finding the chair of the CS program at the school and asking them what book they used. It was an $82 book. I wanted something cheap to learn from, but I will have to get it sooner or later anyway.
#77397 - jake2431 - Fri Mar 31, 2006 1:49 am
The books ISBN is 0763717738 if anyone wants to check it out.
#79073 - pan69 - Tue Apr 11, 2006 12:55 pm
The best book you can get (as a beginner) for ARM is "ARM System-on-Chip Architecture (2nd Edition)" by Steve Fuber. Also a very good introduction to RISC and SOC's.
Extra WIIIIIDE link
Please use the [url=] syntax for long URLs. -- mod
#79216 - jake2431 - Wed Apr 12, 2006 5:10 am
Hey, haven't been on the forum in a few days. Thanks for the link to the arm book. That looks great.
#79384 - Two9A - Thu Apr 13, 2006 10:12 am
You mentioned that you wanted books on x86, Jake. One of the best free books around is "The Art of Assembly", by Randall Hyde, which you can get at the link above in PDF. Unfortunately, Hyde espouses a "high-level assembly" position, which means the latter portions of the book essentially look like C. The first chapters, however, are great.
If you're looking for reference, the only real way to go is with Intel's IA-32 Software Developer's Manual, which you can again get in PDF from the link above, or indeed in PDF on a CD. You used to be able to get them in printed format, but they're out of print right now.
Be prepared for frustration with x86 though. Because it's primarily a CISC architecture, you'll find many ways of doing the same thing; and because it's an old and hacked-together system, with improvements and additions tacked on over the ages, some of those ways work faster than others. Have fun.
#79387 - keldon - Thu Apr 13, 2006 10:37 am
If you want to do it for the x86, check out Rosasm. The nessie nes emulator was coded using this. Also many of the iczelion tutorials have been converted to being able to use Rosasm. FYI, the iczelion tutorials were originally designed for MASM (the assembler randal hyde uses/created).
Rosasm also has built in asm tutorials and a great community to help you get up to scratch quickly, and is the easiest way to creating real windows apps in assembler.