Preface Statement of Aims What How For Whom Acknowledgments Ⅰ Part the First: Imaginary Computers 1 Computation and Representation 1.1 Computation 1.1.1 Electronic Devices 1.1.2 Algorithmic Machines 1.1.3 Functional Components 1.2 Digital and Numeric Representations 1.2.1 Digital Representations and Bits 1.2.2 Boolean Logic 1.2.3 Bytes and Words 1.2.4 Representations 1.3 Virtual Machines 1.3.1 What is a "Virtual Machine"? 1.3.2 Portability Concerns 1.3.3 Transcending Limitations 1.3.4 Ease of Updates 1.3.5 Security Concerns 1.3.6 Disadvantages 1.4 Programming the JVM 1.4.1 Java: What the JVM Isn‘t 1.4.2 Translations of the Sample Program 1.4.3 High- and Low-Level Languages 1.4.4 The Sample Program as the JVM Sees It 1.5 Chapter Review 1.6 Exercises 1.7 Programming Exercises 2 Arithmetic Expressions 2.1 Notations 2.1.1 Instruction Sets 2.1.2 Operations, Operands, and Ordering 2.1.3 Stack-Based Calculators 2.2 Stored-Program Computers 2.2.1 The fetch-execute Cycle 2.2.2 CISC vs. RISC Computers 2.3 Arithmetic Calculations on theJVM 2.3.1 General Comments 2.3.2 A Sample Arithmetic Instruction Set 2.3.3 Stack Manipulation Operations 2.3.4 Assembly Language and Machine Code 2.3.5 Illegal Operations 2.4 An Example Program 2.4.1 An Annotated Example 2.4.2 The Final JVM Code 2.5 JVM Calculation Instructions Summarized 2.6 Chapter Review 2.7 Exercises 2.8 Programming Exercises 3 Assembly Language Programming in jasmin 3.1 Java, the Programming System 3.2 Using the Assembler 3.2.1 The Assembler 3.2.2 Running a Program 3.2.3 Display to the Console vs. a Window 3.2.4 Using System.out and System.in 3.3 Assembly Language Statement Types 3.3.1 Instructions and Comments 3.3.2 Assembler Directives 3.3.3 Resource Directives …… 4 Control Structures Ⅱ Part the Second: Real Computers 5 General Architecture Issues: Real Computers 6 The Intel 8088 7 The Power Architecture 8 The Intel Pentium 9 Microcontrollers: The Atmel AVR 10 Advanced Programming Topics on the JVM A Digital Logic B JVM Instruction Set C Opcode Summary by Number D Class File Format E The ASCII Table Glossary Index