Recommended Reading
From Null Space Labs
- "If you want to learn assembly you need to be motivated enough to do it
- on your own. If you want to get good enough at reversing to work on
- malware you will need to know assembly. That's all there is to it. Buy
- a book and get started!
- [...]
- you won't learn assembly by coming to NSL once a month. You'll learn it
- the Linux way (tm): by beating your face against a wall until it makes sense.
- [...]
- Go wild! All the assembly references posted here are helpful. Read as
- much as you can before the next meeting : )"- datagram
Contents |
Articles
- Title - Writing DOS utilities with DEBUG, part 1
- Author - Prosise, JeffInsert non-formatted text here
- PC Magazine
- Sep 28, 1993
- Abstract - Tips for using the DEBUG feature of DOS to create small assembly language programs
- are offered. Programs can be written with an understanding of as few as a dozen assembly
- language commands.
- Title - Writing DOS utilities with DEBUG, Part 2
- Author - Prosise, Jeff
- PC Magazine
- Oct 12, 1993
- Abstract - Three DOS programming services available through interrupt 21h are explained in a
- discussion about programming small assembly language DOS utilities. Functions 2Ah, 2Ch and 30h
- return the date, time and DOS version, respectively.
- Title - Writing DOS utilities with DEBUG, part 3
- Author - Prosise, Jeff
- PC Magazine
- Oct 26, 1993
- Abstract - Programming services available in the PC BIOS are discussed, focusing on the
- functions in the BIOS, the logical "and" and "or" instructions, indirect addressing and loops.
- Title - Writing DOS utilities with DEBUG, Part 4
- Author - Prosise, Jeff
- PC Magazine
- Nov 9, 1993
- Abstract - Tips for incorporating logic into assembly programs written using DOS' DEBUG
- miniassembler are offered. Command line parameters can be recognized using the methods described.
Download(PDFs for each article, password is "nullspace"):
- rapidshare link - https://rapidshare.com/files/3167923781/WDUWD_1-4.zip
- verzend.be link - http://www.verzend.be/zk4xtkolf53x/WDUWD_1-4.zip.html
- Crocko link - http://www.crocko.com/ECF5E935475B4C7896D36B75BEEE5930/WDUWD_1-4.zip
- Implementing a Tilt-Compensated eCompass using Accelerometer and Magnetometer Sensors
- Author - Talat Ozyagcilar
- Freescale Semiconductor
- Application Note Document Number: AN4248, Rev. 3, 01/2012
- Abstract - An extremely useful introduction to integrating magnetometer and
- accelerometer data in order to build a digital compass. Detailed
- descriptions of how the math works, with most functions implemented in C#
- Can be downloaded at
- http://cache.freescale.com/files/sensors/doc/app_note/AN4248.pdf
Books
- Professional Assembly Language
- "Examples use C as a high-level language, Linux as the development environment, and GNU
- tools for assembling, compiling, linking, and debugging "
- Comments
- NMI-"There was another one from Wrox a number of years(DOS extender era) before this one
- that I liked. Can't remember the title off hand.
- The first review mentions AT&T syntax only. So maybe not the best unless you're sticking with
- 'gas' on Linux. Still it's positive on the basics."
- livinded-"The fact that it's at&t and only focuses on linux isn't a huge issue and depending
- on what you're interested in may not even be an issue. I'm personally a fan of at&t syntax and have
- little to no interest in windows, but I will say that it's not horrible difficult to shift back and
- forth between intel and at&t, at least for reading assembly.
- datagram-"I don't have too many books on assembly, but I would recommend
- Professional Assembly Language (AT&T syntax) and the Intel IA-32
- documentation (http://www.intel.com/products/processor/manuals/). It
- doesn't really matter which type of assembly you learn, but I'd
- recommend sticking with x86 and Intel or AT&T to make things easy (and
- applicable to the meeting). I personally like AT&T as a learning tool
- because it is easy to distinguish between registers, literal values,
- and memory locations (this was one of the stumbling blocks at the
- meeting, too). Aside from that there's no real difference in the same
- way that there's no huge difference between little endian and big
- endian. I've grown accustomed to AT&T just because most of the Linux
- tools use that by default.
- Assembly Language Step-by-Step: Programming with DOS and Linux
- Comments
- NMI-"The Duntemann book. Uses NASM(Netwide Assembler). I've heard good things about this one,
- but never really looked at it.
- Introduction to 80x86 Assembly Language and Computer Architecture
- Comments
- NMI-"The price is insane(~$75), but used it's tolerable(~$11). The first review says "When you
- finish the book, you may understand assembly, but you won't know what to do with it (or what you can
- do with it). Nor is it thorough enough to be used as a reference material for work. It omits quite a
- few processor instructions that I feel are important to know for reference."
- The other two are much more positive."
- Dr. Paul Carter's PC Assembly Tutorial
- See below 'Web sites' for link
- Dr. Paul Carter's PC Assembly Tutorial
- From the author: "I grew frustrated at teaching 16-bit real mode programming and
- decided to change to 32-bit protected mode. However, I soon ran into a
- problem. I could not find a textbook that covered 32-bit protected
- mode assembly programming! So, I decided to write my own. I also did
- not want students to have to go out and buy expensive software for the
- course. I decided to base the course on the free NASM (Netwide
- Assembler) and the free GNU gcc compiler (however, any 32-bit C
- compiler would work). Another advantage of these choices was that
- students could use Windows, Linux or FreeBSD to develop on. (In fact,
- I use Linux for my main development platform.)
PCB Design
http://www.compliance-club.com/pdf/DesignTechniquesPart1.pdf
http://www.compliance-club.com/pdf/DesignTechniquesPart2.pdf
http://www.compliance-club.com/pdf/DesignTechniquesPart3.pdf
http://www.compliance-club.com/pdf/DesignTechniquesPart4.pdf
http://www.compliance-club.com/pdf/DesignTechniquesPart5.pdf
http://www.compliance-club.com/pdf/DesignTechniquesPart6.pdf
Web Sites
- http://www.sandpile.org/
- sandpile.org - The world's leading source for pure technical x86 processor information.
- Comments'
- CharlieX-"[It] covers just about everything on the PC asm/hardware side."
- http://grayscale-research.org/new/asmdb.php
- Ruiner had a hellish 3 days and mapped out every possible valid instruction call, enjoy/download the fruits of his labor
- http://www.azillionmonkeys.com/qed/tech.shtml
- Paul Hsieh's Tech Page
- Comments
- CharlieX-"Paul hsieh has a few old but good articles, with lots of links."
- http://www.drpaulcarter.com/pcasm/
- Dr. Paul Carter's PC Assembly Tutorial
- Comments
- skout-"I like his writing style, it was easy to follow, also it is free to
- download. A full ASM course, read this and then hit up the intel docs and your
- well on your way."
- livinded-"Having read the book, there were a few issues I had with it and
- the author. First of all there is an abstraction library that wraps a bunch of
- functionality up into it which is used throughout the book. While you'll learn assembly
- a lot of the work is done for you in this sense and really takes away from diving in and
- learning it well. Secondly, while attempting to discuss a couple of possible errors I
- found in the book, the author never responded."
Analog Stuff
- Filter design in 30 seconds - From the TI website