User Tools

Site Tools


recommended_reading
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


recommended_reading [2013/08/13 12:13] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +>>//"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**
 +
 +===== Articles =====
 +>>**Title - Writing DOS utilities with DEBUG, part 1**
 +
 +>>Author - Prosise, Jeff<nowiki>Insert non-formatted text here</nowiki>
 +>>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.
 +
 +<!-- These were difficult to source.  The various magazine databases(Gale, Proquest, EBSCO, Lexis/Nexis) only carry full-text for PC Magazine as far back as 1999. PCMag.com sells a .Net archive viewer program under their PC Magazine utilties subscription for $19.99 or just under $8 for a one time download.  Someone uploaded an ISO for PC Magazine CD from 1995 that included a 1 year archive(mid 1994-mid 1995).  The archive also lacked any images.  Fortunately, we got these off a crashed HD.
 +
 +Most likely Ziff-Davis will come down hard(DMCA takedown notice, at least) so don't advertise 
 +-->
 +**Download(PDFs for each article, password is //"nullspace"//):**
 +>><nowiki>rapidshare link - https:<nowiki>//</nowiki>rapidshare.com/files/3167923781/WDUWD_1-4.zip </nowiki>
 +>><nowiki>verzend.be link - http:<nowiki>//</nowiki>www.verzend.be/zk4xtkolf53x/WDUWD_1-4.zip.html </nowiki>
 +>><nowiki>Crocko link - http:<nowiki>//</nowiki>www.crocko.com/ECF5E935475B4C7896D36B75BEEE5930/WDUWD_1-4.zip </nowiki>
 +
 +
 +>>**Implementing a Tilt-Compensated eCompass using Accelerometer and Magnetometer Sensors**
 +
 +>>Author - Talat Ozyagcilar<nowiki> </nowiki>
 +>>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:<nowiki>//</nowiki>cache.freescale.com/files/sensors/doc/app_note/AN4248.pdf
 +
 +===== Books =====
 +
 +>>**Professional Assembly Language**
 +>>>http:<nowiki>//</nowiki>www.amazon.com/Professional-Assembly-Language-Programmer/dp/0764579010
 +
 +>>>"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:<nowiki>//</nowiki>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**
 +>>>http:<nowiki>//</nowiki>www.amazon.com/Assembly-Language-Step---step-Programming/dp/0471375233/
 +
 +>>>**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**
 +>>>http:<nowiki>//</nowiki>www.amazon.com/Introduction-Assembly-Language-Computer-Architecture/dp/0763772232/
 +
 +>>>**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
 +
 +>>>**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:<nowiki>//</nowiki>www.compliance-club.com/pdf/DesignTechniquesPart1.pdf
 +
 +http:<nowiki>//</nowiki>www.compliance-club.com/pdf/DesignTechniquesPart2.pdf
 +
 +http:<nowiki>//</nowiki>www.compliance-club.com/pdf/DesignTechniquesPart3.pdf
 +
 +http:<nowiki>//</nowiki>www.compliance-club.com/pdf/DesignTechniquesPart4.pdf
 +
 +http:<nowiki>//</nowiki>www.compliance-club.com/pdf/DesignTechniquesPart5.pdf
 +
 +http:<nowiki>//</nowiki>www.compliance-club.com/pdf/DesignTechniquesPart6.pdf
 +
 +===== Web Sites =====
 +
 +>>http:<nowiki>//</nowiki>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:<nowiki>//</nowiki>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:<nowiki>//</nowiki>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:<nowiki>//</nowiki>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 =====
 +>>[[http://www.ti.com/lit/an/sloa093/sloa093.pdf|Filter design in 30 seconds]] - From the TI website
  
recommended_reading.txt · Last modified: 2013/08/13 12:13 by 127.0.0.1