Showing posts with label assembly. Show all posts
Showing posts with label assembly. Show all posts

The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Inter- facing Review

The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Inter- facing
Average Reviews:

(More customer reviews)
Are you looking to buy The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Inter- facing? Here is the right place to find the great deals. we can offer discounts of up to 90% on The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Inter- facing. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Inter- facing ReviewI have read the first 140 pages of this book, and I really like it. So far, I have the following comments.
Good points:
1.) It covers both real and protected mode from the start. Other books wait until the middle of the books before they cover protected mode.
2.) Assembly language command mechanism are explained in great detail. The author explain exactly what's going on. How the data moved from memory to register, register to register, how the memory in a computer is organized, how exactly PUSH and POP command works etc. There are lots of diagram that illustrate his explanations.
3.) It covers from 8086 to Pentium II hardware architecture. Many books are strictly limited to outdated 8086 and 8088 processors.
4.) The exercises at the end of each chapter increases my understanding of the subject and answers to even numbered problems are available at the end of the book.
Bad Points:
1.)Assembly language and processor architecture are hard subjects. You have to read each chapter several times before you can get a good grasp of the topic.
2.)Some of the topic presented by the authors can not be easily understood until you read the subsequent chapters.
One suggestion for people who read the book: Make sure you know how to convert binary, hexadecimal and decimal number. You have to know these otherwise you can get lost. Some basic understanding of logic gates is also helpfull!The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Inter- facing OverviewFor Introductory level Microprocessor courses in departments of Electronic Engineering Technology or Electrical Engineering.Keeping students on the forefront of technology, this timely text offers a practical reference to all programming and interfacing aspects of the popular Intel family of microprocessors. Organized in an orderly and manageable format that stimulates and challenges understanding, the text contains numerous example programs using the Microsoft Macro Assembler program, and provides a thorough description of each Intel family member, memory systems, and various I/O systems.

Want to learn more information about The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Inter- facing?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Hacker Debugging Uncovered (Uncovered series) Review

Hacker Debugging Uncovered (Uncovered series)
Average Reviews:

(More customer reviews)
Are you looking to buy Hacker Debugging Uncovered (Uncovered series)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Hacker Debugging Uncovered (Uncovered series). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Hacker Debugging Uncovered (Uncovered series) ReviewFirst, a word about the publisher, A-List. This book was delayed time and time again. So much so that I had this book preordered for over a year. This sort of thing is just unacceptable, and would make me inclined to not purchase any books from this publisher in the future, and some of the rating I gave it is because of the publisher.
This book has a much larger unix focus than the 'Hacker Disassembling Uncovered' which was largely windows based, however the author's relative unfamiliarity with unix tends to show.
For example, on page 39 the author states:
IDA Pro, the best disassembler of all times, is nw available under Linux! Users of FreeBSD and other operating systems will have to be content with the console Windows version started under the emulator or have to work on native MS-DOS, OS/2, and Windows.
Unfortunately, the author does not mention (or does not know?) that the OS2 and DOS4GW products were discontinued when the linux version was released. Additionally, FreeBSD (and OpenBSD and NetBSD) can easily run linux binaries by mapping the system calls. It's a very cheap way to run linux binaries, and it was acomplished for OpenBSD within a day or so of the 4.7 release. A much cleaner way is available now; others have managed to do the same for FreeBSD, and NetBSD is likely to be straihtforward as well.
There's also some problems with the book that confuse me. For example, on page 432 the author states the following:The C programming language doesn't allow you to declare functions
returning pointers to functions, because this declaration is recursively
looped.
I simply do not know where he pulled this from. The following small C example demonstrates how to do just this:
#include
int (*HelloWorld(void))(int,int);
int helloworld(int a, int b)
{
printf("hello world: %d %d\n", a, b);
return 0;
}
int main(void)
{
int (*foo)(int, int) = HelloWorld();
foo(1,2);
return 0;
}
int (*HelloWorld(void))(int, int)
{
return helloworld;
}
And here is it being compiled:
brian@lemon:~> gcc -ansi -std=c89 -Wall -o foo foo.c
brian@lemon:~>
and here is it being run:
brian@lemon:~> ./foo
hello world: 1 2
brian@lemon:~>
On to the actual content of the book, it's largely okay. However, if you are expecting new antidebugging ideas, or even ideas hackers are actually going to use, you are in for a rather unfortunate surprise.
When I purchased this book, I sort of expected it would keep the duplication from Hacker Disassembling Uncovered to a minimum, but I found that the amount of the book dedicated to static analysis (ie: disassembling and the line) is significant. Far more significant than it should be; nearly the first half of the book is filled with static analysis stuff, working on straightforward crackmes (similar to the previous book in the series), and so forth. This strikes me as fluff in order to boost the price the publisher can charge.
Once you get past these negative parts, you have an okay book about (mostly) antidebugging techniques, and some debugging techniques. There's also the requisite PE injection section (sorry, no elf version) along with some basic PE documentation (also no elf version of this).
There's quite a bit here if you want a broad ovrview of binary analysis using both static and dynamic analysis. There's nothing new here at all, but if you'd like a bunch of things all in one place, this book may be useful, dispite its many flaws.Hacker Debugging Uncovered (Uncovered series) OverviewTips for the practical use of debuggers, such as NuMega SoftIce, Microsoft Visual Studio Debugger, and Microsoft Kernel Debugger, with minimum binding to a specific environment are disclosed in this debugger guide. How debuggers operate and how to overcome obstacles and repair debuggers is demonstrated. Programmers will learn how to look at what is inside a computer system, how to reconstruct the operating algorithm of a program distributed without source code, how to modify the program, and how to debug drivers. The use of debugging applications and drivers in Windows and Unix operating systems on Intel Pentium/DEC Alpha-based processors is also detailed.

Want to learn more information about Hacker Debugging Uncovered (Uncovered series)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

PC Interrupts : A Programmer's Reference to BIOS, DOS, and Third-Party Calls Review

PC Interrupts : A Programmer's Reference to BIOS, DOS, and Third-Party Calls
Average Reviews:

(More customer reviews)
Are you looking to buy PC Interrupts : A Programmer's Reference to BIOS, DOS, and Third-Party Calls? Here is the right place to find the great deals. we can offer discounts of up to 90% on PC Interrupts : A Programmer's Reference to BIOS, DOS, and Third-Party Calls. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

PC Interrupts : A Programmer's Reference to BIOS, DOS, and Third-Party Calls ReviewNobody else could write a book like PC Interrupts, than Ralf Brown & Jim Kyle. This book is not only a reference, it is written from programmers for programmers and all the needs of an experienced developer. The title speaks for itself, the book is a milestone in Computer Literature and traces a long period of general PC development. May be, that the most of the stuff is dated, but anyway there's often enough a good reason to read some and the enormous information impact makes the book valuable for every programmer, today and forever. I recommend the book particularly!PC Interrupts : A Programmer's Reference to BIOS, DOS, and Third-Party Calls OverviewPC programmers use system calls from many different sources, MS-DOS, the ROM BIOS and various APIs (application program interfaces) such as Windows 3.1, NetWare and DESQview. This updated second edition represents one of two volumes published to replace the first edition, the other being "Network Interrupts". They provide programmers with a concise description and other essential information on each system call. In addition, the books are sources of information on potential conflicts between calls from different APIS. This edition has been updated to include DOS 6, Windows 3.1, DR-DOS 7 and other APIS.

Want to learn more information about PC Interrupts : A Programmer's Reference to BIOS, DOS, and Third-Party Calls?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

The Art of Assembly Language Review

The Art of Assembly Language
Average Reviews:

(More customer reviews)
Are you looking to buy The Art of Assembly Language? Here is the right place to find the great deals. we can offer discounts of up to 90% on The Art of Assembly Language. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

The Art of Assembly Language ReviewSome of the above reviews have claimed that this book does not teach "real" assembly language, and that it uses 'c'-like wrappers instead of pure assembly instructions. This is a misconception most likely caused by these reviewers lack of knowledge, and/or failure to read the book of which they have submitted a review.
First off, what is Assembly Language? It is an attempt to make the actual machine instructions more readable to us humans, back when I first learned assembly language on the 6502, I programmed using hexademical instructions, so for example, changing the background color on the good old C64 would be:
$a9,$00,$8d,$21,$d0
Now, this isn't exactly readable as far as code goes, so later I got hold of an assembler, and the above code was written as:
lda #$00
sta $d021
This was suddenly alot more readable, and generated exactly the same code. Onwards assemblers have evolved, including things like macros, local labels, etc. HLA is one such evolution, it contains for example alot of control structures to avoid the need of labels, but that does not mean that you have to use them. For readability, it's lot easier for you to make a function call as:
Foo(1,2,3);
But if you really want to, you can write the code yourself,
push 3;
push 2;
push 1;
call Foo;
Still, this is exactly the code that will be generated by the above Foo(1,2,3), so it's really just a matter of taste.
Likewise, the high-level constructs such as IF... THEN works just the same way:
if(eax == 1) then
endif
could be written by yourself as:
cmp eax, 1
jne Label
But again, this is the same code that the high-level construct will generate. There are most likely situations where high-level constructs may generate code that could be written slightly more efficiently by hand, but it's entirely up to the programmer to use them or not. For beginners in assembly they are likely a godsend, and for experienced programmers they are simply an option.
Now, valid criticism towards this book is that the focus on HLA, although helpful, may also confuse the beginners, since it detracts somewhat from the low-level fundamentals that is the basis of assembly programming. For instance, although excellently explained, the way the stack operates could easily drown in the information sea of HLA's STATIC, VAR, READONLY, STORAGE sections described in the chapter beforehand, and make it hard for a beginner to grasp.
That said, the book still covers all basics of assembly language, from system bus to the individual cpu instructions.
And if you actually read the book, rather than firing up the examples directly, you'll have a good grasp of what these high level constructs do, and how to write your own code without using these constructs if you so please. And do not believe the above reviews stating that this is C-programming rather than assembly, if your programs consist of nothing but function calls then yes it will look like a C-program, but if your program actually does something rather than calls, you will use mov, and, or, add, sub, inc, dec, mul, div, shl, etc. like in any other assembly program, and these instructions are explained perfectly within this book.
The reason I don't give this book 5 stars is simply that I feel the focus on HLA should be mentioned in the books title, like "the Art of Assembly Language using HLA", since people using other assemblers will have to wade through alot of HLA specific content of which they have very little, if any interest.The Art of Assembly Language Overview
Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use.

Since 1996, Randall Hyde's The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming.

As you read The Art of Assembly Language, you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to:

Edit, compile, and run an HLA program
Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces
Translate arithmetic expressions (integer and floating point)
Convert high-level control structures

This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.


Want to learn more information about The Art of Assembly Language?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...