BKHKRSDL.RVW 20020825 "Hacker's Delight", Henry S. Warren, 2003, 0-201-91465-4, U$39.99/C$62.99 %A Henry S. Warren Jr. %C P.O. Box 520, 26 Prince Andrew Place, Don Mills, Ontario M3C 2T8 %D 2003 %G 0-201-91465-4 %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