BKASLNSS.RVW 20020718 "Assembly Language Step-by-Step", Jeff Duntemann, 2000, 0-471-37523-3, U$49.99/C$77.50 %A Jeff Duntemann www.duntemann.com %C 5353 Dundas Street West, 4th Floor, Etobicoke, ON M9B 6H8 %D 2000 %G 0-471-37523-3 %I John Wiley & Sons, Inc. %O U$49.99/C$77.50 416-236-4433 fax: 416-236-4448 %P 613 p. + CD-ROM %T "Assembly Language Step-by-Step, Second Edition" Chapter one is an excellent explanation of what programming (especially low level programming) is, by analogy to a "to do" list and a board game. Numbering and arithmetic in binary, octal, and hexadecimal is thoroughly demonstrated (with added practice!) in chapter two. Basic computer architecture is dealt with in chapter three. The pointers to emulators of old style computers may be useful, as well as interesting: it is much easier to program in machine language on the old kit computers than it is on modern machines with layers of interfaces. Chapter four covers the fundamental concepts and activities of assembly programming. Chapter five lists the commands and functions of the NASM-IDE development environment and editor provided on the CD-ROM. DOS program file structures are explained somewhat vaguely in chapter six. DEBUG, and its various operations, is put through its paces with some simple opcodes in chapter seven. Chapter eight lists a simple assembly language program and explains the various parts. Procedures and libraries are dealt with in chapter nine. The introduction of actual opcodes and commands starts in chapter ten with logical and bit-wise operations. Chapter eleven demonstrates some string (and looping) commands. Chapter twelve moves from DOS into Linux, and covers the programming tools most useful in that operating system. Differences in system calls and the assembler format initiate chapter thirteen, which then goes on (at considerable length) with sample code that works in the Linux system. A final chapter points at resources for further explorations and work in assembly programming. This complete and detailed work does take the novice, with no previous programming assumed, through the basics to the point that the reader can start the process of discovery. It is readable (and funny enough to keep you going through the dry parts), provides all the necessary bits (sorry) including software, and is an excellent introduction for anyone wanting to find out what programming "down to the metal" is all about. copyright Robert M. Slade, 2002 BKASLNSS.RVW 20020718