| |
| — | recommended_reading_asm [2013/08/13 00:44] (current) – created - external edit 127.0.0.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. |
| | |
| | |
| | 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://rapidshare.com/files/3167923781/WDUWD_1-4.zip </nowiki> |
| | ::<nowiki>verzend.be link - http://www.verzend.be/zk4xtkolf53x/WDUWD_1-4.zip.html </nowiki> |
| | ::<nowiki>Crocko link - http://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://cache.freescale.com/files/sensors/doc/app_note/AN4248.pdf |
| | |
| | ==Books== |
| | |
| | ::'''Professional Assembly Language''' |
| | :::http://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://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://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://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://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== |
| | ::[http://www.ti.com/lit/an/sloa093/sloa093.pdf Filter design in 30 seconds] - From the TI website |
| |