11 Replies - 8328 Views - Last Post: 20 January 2013 - 11:03 AM

#1 nathanpc  Icon User is offline

  • SCIENCE!
  • member icon

Reputation: 112
  • View blog
  • Posts: 1,171
  • Joined: 31-July 09

Book Recommendations

Post icon  Posted 25 January 2011 - 07:46 AM

This will be the official thread to post all the book recommendations about Assembly language, OS building and all this kind of stuff. To make this a lot more organized and easier for the other programmers to read and get your suggestions, we have done a template, that needs to be used for each book you suggest, also please post just one book-per-post to make the things more organized :)

Template
[b]Book Name Goes Here[/b]
[b]Formats:[/b] Formats goes here
[b]Architecture:[/b] The architecture goes here
[b]ISBN:[/b] ISBN goes here

[img ]The image goes here[/img]

[b]Description[/b]
A brief description of why you liked this book or found it useful.


If you liked the book, want to have, already have, just add some reputation for the person that posted it and leave a comment about the book too. See the next post to know how it should be made :)

This post has been edited by nathanpc: 26 January 2011 - 01:29 PM
Reason for edit:: New template added


Is This A Good Question/Topic? 1
  • +

Replies To: Book Recommendations

#2 nathanpc  Icon User is offline

  • SCIENCE!
  • member icon

Reputation: 112
  • View blog
  • Posts: 1,171
  • Joined: 31-July 09

Re: Book Recommendations

Posted 25 January 2011 - 07:56 AM

ARM System Developer's Guide: Designing and Optimizing System Software
Formats: Hardcover - Kindle
Architecture: ARM
ISBN: 1558608745

Posted Image

Description
A very nice book for everyone that wants to learn ARM Assembly from the ground up. Pretty enjoyable to read and very well explained

This post has been edited by nathanpc: 26 January 2011 - 01:28 PM
Reason for edit:: Corrected for the new template

Was This Post Helpful? 1
  • +
  • -

#3 SmaJLe  Icon User is offline

  • New D.I.C Head

Reputation: 7
  • View blog
  • Posts: 21
  • Joined: 06-November 07

Re: Book Recommendations

Posted 25 January 2011 - 02:36 PM

It might be just my personal opinion, but shouldn't recommendations be a little more.. descriptive?
For example, what did you like about the book, is there anything one should be aware of when reading the book or is it just few parts in the book that are good. And so on.. :dozingoff: :rolleyes:
Was This Post Helpful? 2
  • +
  • -

#4 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4574
  • View blog
  • Posts: 8,014
  • Joined: 08-June 10

Re: Book Recommendations

Posted 25 January 2011 - 02:53 PM

Also, I'd suggest against allowing links to the book, since it's easy to put an amazon affiliate ID on links. You're basically inviting people to bomb your thread with every book they can find to make some quick $$.

The title and ISBN is good enough for anyone to find the correct book.
Was This Post Helpful? 2
  • +
  • -

#5 atraub  Icon User is offline

  • Pythoneer
  • member icon

Reputation: 759
  • View blog
  • Posts: 2,010
  • Joined: 23-December 08

Re: Book Recommendations

Posted 25 January 2011 - 03:04 PM

View PostSmaJLe, on 25 January 2011 - 04:36 PM, said:

It might be just my personal opinion, but shouldn't recommendations be a little more.. descriptive?
For example, what did you like about the book, is there anything one should be aware of when reading the book or is it just few parts in the book that are good. And so on.. :dozingoff: :rolleyes:

Quote

Also, I'd suggest against allowing links to the book, since it's easy to put an amazon affiliate ID on links. You're basically inviting people to bomb your thread with every book they can find to make some quick $$.

The title and ISBN is good enough for anyone to find the correct book.


on both accounts, yes.
Was This Post Helpful? 0
  • +
  • -

#6 nathanpc  Icon User is offline

  • SCIENCE!
  • member icon

Reputation: 112
  • View blog
  • Posts: 1,171
  • Joined: 31-July 09

Re: Book Recommendations

Posted 25 January 2011 - 03:16 PM

View PostSmaJLe, on 25 January 2011 - 09:36 PM, said:

It might be just my personal opinion, but shouldn't recommendations be a little more.. descriptive?
For example, what did you like about the book, is there anything one should be aware of when reading the book or is it just few parts in the book that are good. And so on.. :dozingoff: :rolleyes:

You can add that where you want, but the information on the template should be obligatory ;)


View PostinsertAlias, on 25 January 2011 - 09:53 PM, said:

Also, I'd suggest against allowing links to the book, since it's easy to put an amazon affiliate ID on links. You're basically inviting people to bomb your thread with every book they can find to make some quick $$.

The title and ISBN is good enough for anyone to find the correct book.

Ok, post a new template. If the community here agrees we can change it for sure :)
Was This Post Helpful? 0
  • +
  • -

#7 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4574
  • View blog
  • Posts: 8,014
  • Joined: 08-June 10

Re: Book Recommendations

Posted 25 January 2011 - 03:31 PM

[b]Book Name Goes Here[/b]
[b]Formats:[/b] Formats goes here
[b]Architecture:[/b] The architecture goes here
[b]ISBN:[/b] ISBN goes here


[b]Description[/b]
A brief description of why you liked this book or found it useful.

This post has been edited by insertAlias: 25 January 2011 - 03:32 PM

Was This Post Helpful? 1
  • +
  • -

#8 nathanpc  Icon User is offline

  • SCIENCE!
  • member icon

Reputation: 112
  • View blog
  • Posts: 1,171
  • Joined: 31-July 09

Re: Book Recommendations

Posted 26 January 2011 - 01:24 PM

For sure your template is better. I'm going to add it to the main topic now :)

I've also edited the one I've posted too

This post has been edited by nathanpc: 26 January 2011 - 02:02 PM

Was This Post Helpful? 0
  • +
  • -

#9 JamesConley  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 19
  • View blog
  • Posts: 341
  • Joined: 09-March 09

Re: Book Recommendations

Posted 29 June 2011 - 12:52 PM

So... where are the books? :huh:
Was This Post Helpful? 0
  • +
  • -

#10 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1156
  • View blog
  • Posts: 2,538
  • Joined: 05-May 05

Re: Book Recommendations

Posted 28 March 2012 - 12:41 AM

Computer Organization and Design: The Hardware/Software Interface
Formats: Paperback, Kindle
Architecture: MIPS
ISBN: 978-0123747501

Posted Image

Description: Written by the inventors of the MIPS architecture and RISC design, it covers all aspects of the MIPS CPU architecture from assembly coding to the individual electrical components that comprise it.

The first few chapters give an overview of high-level computer architecture and fundamental principles that are required to progress throughout the book. This includes the binary system, binary arithmetic, PC system components, and digital logic basics.

Th next few chapters go into depth about how to do assembler coding. You learn about the different types of instructions, instruction formats, converting to native machine op codes, CPU registers, and the CPU stack. There are examples of translating between C and MIPS code, how to call functions in assembler, and making system calls to do I/O and memory allocation.

Next, the book gives a full description of how to construct the MIPS datapath. This section covers the Harvard architecture, pipelining, the control unit, the program counter, read/write register files, multiplexors, the ALU, and all the issues surrounding runtime operation. The treatment is very high-level and really doesn't go into detailed schematics or low-level electrical diagrams. It's good for a CS student looking to learn about CPU architecture without taking a circuits analysis and/or digital logic course. Memory hierarchies, caching algorithms, TLBs, and virtual memory are also covered.

The remaining chapters cover other topics surrounding low-level programming and architecture. There's a chapter that explains compilation, object-file formats, linking and loading, relocation, and symbol tables. There's also a chapter talking about superscalar architecture (multi-core) and parallel computing (SIMD).

Overall, I'd say this is a great book. I find myself going back through the chapters from time to time, but I've retained most of it. Besides using skimpy Internet web pages for a quick MIPS reference, this is the only other resource I've ever used, and I'd consider myself fluent in MIPS. The book is chock full of complete programs, from which you should be able to write anything you can dream up.

It's very visual. The author is very clear and easy to understand, and assumes zero-experience in low-level programming. This book is widely used across schools in the U.S., and is highly regarded as an introduction to computer architecture. MIPS has its own niche market in embedded devices, but ARM is the dominate microprocessor manufacturer for embedded devices. x86 is ubiquitous in the PC market.

So why learn MIPS? For many, it's their school's language of choice. For those who are undecided, all I can say is that it's an easy technology to learn. If you're interested, there are a few good MIPS simulators out there (SPIM & MARS) for Windows and Linux.

These computer organization lectures complement the text nicely. In the book, most of the CPU architecture visuals are abstracted; they don't cover CPU operation clock-by-clock and many of the functional units are black boxes. These lectures, based on MIPS architecture, break down those black boxes even further and give a better idea of absolutely everything that occurs in the CPU.

This post has been edited by blackcompe: 03 April 2012 - 05:31 AM

Was This Post Helpful? 1
  • +
  • -

#11 BetaWar  Icon User is offline

  • #include "soul.h"
  • member icon

Reputation: 1199
  • View blog
  • Posts: 7,304
  • Joined: 07-September 06

Re: Book Recommendations

Posted 16 June 2012 - 11:38 AM

I am actually looking for a book dealing with assembly and bootloaders. The theory is fairly simple, and can be found all over the web. So, if possible I would love to learn of a book that deals more with implementation of a bootloader, available BIOS functions, and the like. Ideally using x86 assembly.

If you know of any such book please post it here. I have been looking for one and havent't managed to find it as of yet.
Was This Post Helpful? 0
  • +
  • -

#12 Gordon_Liu  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 20-January 13

Re: Book Recommendations

Posted 20 January 2013 - 11:03 AM

Programming from the Ground Up
Formats: Paperback/PDF
Architecture: Linux x86
ISBN: 0975283847

[img ]http://i1.cpcache.co...t=350&width=350[/img]

Description
A PDF of Programming from the Ground Up is available under the GNU Free Documentation License from: http://savannah.nong...ojects/pgubook/

I don't know much about programming, but when I looked into learning C I discovered debugging required assembly knowledge. Since debugging assumes a prerequisite understanding of assembly, I decided I would learn assembly first. That began the search for a guide or tutorial that would be able to teach a beginner, me, how to program in assembly. Many guides start with the assumption the reader already is a C programmer or that they're an engineer, which is not useful to beginners with little programming experience. The search lead me to tamu.edu and their extensive, really the worlds most extensive, programming resource links (google: baum+programming), where I discovered the above book in their assembly section.

Programming from the Ground Up uses Linux assembly language to take you a step at a time through these concepts:
  • How the processor views memory
  • How the processor operates
  • How programs interact with the operating system
  • How computers represent data internally
  • How to do low-level and high-level optimization


Also, Programming from the Ground Up is being used by Princeton University in their COS 217 course, "Introduction to Programming Systems".

Linus Torvalds started learning on a Vic20 using Machine Language and Assembly, out of this beginning grew the Linux OS. This allowed Linus to probe and understand how all of the devices on the Vic20 worked. Then, while in college Linus learned C, and with his exposure to a Unix OS began to conceive the Linux OS.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1