"Hacker's Delight", Henry S. Warren, 2003, 0-201-91465-4,
%A Henry S. Warren Jr.
%C P.O. Box 520, 26 Prince Andrew Place, Don Mills, Ontario M3C 2T8
%I Addison-Wesley Publishing Co.
%O U$39.99/C$62.99 416-447-5101 fax: 416-443-0948
%P 306 p.
%T "Hacker's Delight"
First of all, this has nothing to do with security.
Experienced programmers develop toolkits of shortcut tricks. Assembly
language programmers need to have more shortcuts, since a) assembly
language is a detailed (and can be a tedious) process, and b)
assembler gets right down to the metal, and can perform the functions
that haven't been built into high level languages yet. In these days
of bloatware, it may seem pointless to try to create code
efficiencies. But the hackers still (sometimes) walk among us, making
most efficient use of memory for code space, and squeezing every last
cycle of performance out of processors. This book is for them. And
anyone who wants to join them.
It is a compendium, even an encyclopedia, of such tricks. There are
outlines of quick algorithms for basic operations, powers of two,
bounds, counting of bits, searching words (computer "words"),
transpositions and permutations, mathematical functions, and more.
All well and good, but isn't machine level programming highly machine
specific? Yes, to an extent. But remember, these are algorithms.
The author has based them on a basic instruction set that should be
common to most systems, and is adaptable to situations.
With a book this detailed, it is inevitable that there will be
mistakes. The very first example is probably not in error, but
certainly is poorly explained for newcomers to assembly programming.
(Actually, maybe I spoke too soon about security. Not only does the
security common body of knowledge have an application development
domain, but this book could also be useful in software forensics to
gauge the skill level of a programmer.)
For those who still believe in optimising compilers and tight code,
this is your book.
copyright Robert M. Slade, 2002 BKHKRSDL.RVW 20020825
====================== (quote inserted randomly by Pegasus Mailer)
rslade@... rslade@... slade@... p1@...
When cryptography is outlawed, bayl bhgynjf jvyy unir rapelcgvba.