Author(s): Patrick Juola
Publisher: Prentice Hall
Year: 2007
Language: English
Pages: 334
Cover ......Page 1
Title Page ......Page 2
Copyright ......Page 3
Contents......Page 6
What......Page 14
For Whom......Page 15
Acknowledgments......Page 16
I Part the First: Imaginary Computers......Page 18
1.1 Computation......Page 20
1.2 Digital and Numeric Representations......Page 26
1.3 Virtual Machines......Page 44
1.4 Programming the JVM......Page 49
1.5 Chapter Review......Page 55
1.6 Exercises......Page 56
1.7 Programming Exercises......Page 58
2.1 Notations......Page 59
2.2 Stored-Program Computers......Page 62
2.3 Arithmetic Calculations on the JVM......Page 66
2.4 An Example Program......Page 74
2.5 JVM Calculation Instructions Summarized......Page 77
2.6 Chapter Review......Page 78
2.8 Programming Exercises......Page 79
3.1 Java, the Programming System......Page 81
3.2 Using the Assembler......Page 83
3.3 Assembly Language Statement Types......Page 88
3.4 Example: Random Number Generation......Page 90
3.6 Exercises......Page 96
3.7 Programming Exercises......Page 97
4.1 “Everything They’ve Taught You Is Wrong”......Page 99
4.2 Types of Gotos......Page 103
4.3 Building Control Structures......Page 106
4.4 Example: Syracuse Numbers......Page 111
4.5 Table Jumps......Page 114
4.6 Subroutines......Page 118
4.7 Example: Monte Carlo Estimation of π......Page 122
4.8 Chapter Review......Page 128
4.10 Programming Exercises......Page 129
II Part the Second: Real Computers......Page 130
5.1 The Limitations of a Virtual Machine......Page 132
5.2 Optimizing the CPU......Page 133
5.3 Optimizing Memory......Page 138
5.4 Optimizing Peripherals......Page 141
5.5 Chapter Review......Page 143
5.6 Exercises......Page 144
6.1 Background......Page 145
6.2 Organization and Architecture......Page 146
6.3 Assembly Language......Page 150
6.4 Memory Organization and Use......Page 160
6.5 Conical Mountains Revisited......Page 173
6.6 Interfacing Issues......Page 174
6.7 Chapter Review......Page 175
6.8 Exercises......Page 176
7.1 Background......Page 177
7.2 Organization and Architecture......Page 178
7.3 Assembly Language......Page 181
7.4 Conical Mountains Revisited......Page 186
7.5 Memory Organization and Use......Page 187
7.6 Performance Issues......Page 188
7.8 Exercises......Page 191
8.1 Background......Page 192
8.2 Organization and Architecture......Page 193
8.3 Assembly Language Programming......Page 194
8.5 Performance Issues......Page 197
8.6 RISC vs. CISC Revisited......Page 200
8.8 Exercises......Page 201
9.1 Background......Page 202
9.2 Organization and Architecture......Page 203
9.3 Assembly Language......Page 209
9.4 Memory Organization and Use......Page 210
9.5 Issues of Interfacing......Page 212
9.6 Designing an AVR Program......Page 214
9.7 Chapter Review......Page 215
9.8 Exercises......Page 216
10.1 Complex and Derived Types......Page 217
10.2 Classes and Inheritance......Page 227
10.3 Class Operations and Methods......Page 231
10.4 Objects......Page 240
10.5 Class Files and .class File Structure......Page 241
10.6 Class Hierarchy Directives......Page 244
10.7 An Annotated Example: Hello, World Revisited......Page 246
10.8 Input and Output: An Explanation......Page 247
10.9 Example: Factorials Via Recursion......Page 253
10.10 Chapter Review......Page 255
10.12 Programming Exercises......Page 256
A.1 Gates......Page 258
A.2 Combinational Circuits......Page 260
A.3 Sequential Circuits......Page 262
A.4 Computer Operations......Page 265
B: JVM Instruction Set......Page 267
C.1 Standard Opcodes......Page 298
C.3 “Quick” Pseudo-Opcodes......Page 300
C.4 Unused Opcodes......Page 301
D.1 Overview and Fundamentals......Page 302
D.2 Subtable Structures......Page 303
E.2 History and Overview......Page 307
A......Page 310
B......Page 311
C......Page 312
E......Page 313
F......Page 314
I......Page 315
L......Page 316
M......Page 317
O......Page 318
P......Page 319
R......Page 320
S......Page 321
U......Page 322
Z......Page 323
A......Page 324
C......Page 325
F......Page 326
I......Page 327
J......Page 328
M......Page 329
O......Page 330
R......Page 331
S......Page 332
V......Page 333
Z......Page 334