| |
| |
| |
Data Representation and Computer Arithmetic | |
| |
| |
Characters, Words, and Bytes | |
| |
| |
Number Bases | |
| |
| |
Binary Arithmetic | |
| |
| |
Floating Point Numbers | |
| |
| |
Logical Operations on Binary Values | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
Introduction to Computer Architecture and Assembly Language | |
| |
| |
From Problem to Program | |
| |
| |
The CPU and its Memory | |
| |
| |
Introduction to the Assembler | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
Introduction to the 68000 | |
| |
| |
Simplified Model of the 68000 | |
| |
| |
A Basic Instruction Set | |
| |
| |
Register Usage | |
| |
| |
Addressing Modes | |
| |
| |
Running and Debugging 68000 Programs | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
The 68000''s Addressing Modes | |
| |
| |
Variable Length Operands | |
| |
| |
Addresses and Address Registers | |
| |
| |
Address Register Indirect Addressing with Displacement | |
| |
| |
An Application of Address Register Indirect Registering | |
| |
| |
Address Register Indirect Addressing with Post-incrementing and Pre-decrementing | |
| |
| |
Address Register Indirect Addressing with Index | |
| |
| |
Program Counter Relative Addressing | |
| |
| |
Permitted Addressing Modes | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
The 68000''s Instruction Set | |
| |
| |
Data Movement and Arithmetic Operations | |
| |
| |
Logical, Shift, and Bit Operations | |
| |
| |
Program Control and the 68000 | |
| |
| |
Miscellaneous Instructions | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
Introduction to Assembly Language Programming | |
| |
| |
The Design Process | |
| |
| |
Structured Programming | |
| |
| |
Pseudocode (PDL) | |
| |
| |
Examples of Pseudocode Design | |
| |
| |
Pseudocode Design: Using PDL to Design a Command Line Interpreter (CLI) | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
Subroutines and Parameters | |
| |
| |
Basic Principles of Subroutines | |
| |
| |
Parameter Passing | |
| |
| |
The Stack and Local Variables | |
| |
| |
Recursion | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
Assemblers | |
| |
| |
Overview of the Assembler | |
| |
| |
Assemblers and Modularity | |
| |
| |
The Macro Assembler | |
| |
| |
Conditional Assembly and Structured Control | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
Peripheral Programming | |
| |
| |
Input/Output Strategies | |
| |
| |
The 68230 Parallel Interface/Timer | |
| |
| |
The Serial Interface | |
| |
| |
The 68681 DUART | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
68000 Interrupts And Exceptions | |
| |
| |
Overview of the 68000 Family Exception Handling Facilities | |
| |
| |
Interrupts and Exceptions | |
| |
| |
Privileged States, Virtual Machines, and the 68000 | |
| |
| |
Exceptions and the 68000 Family | |
| |
| |
Hardware Initiated Exceptions | |
| |
| |
Software Initiated Exceptions | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
| |
Programming Exercises | |
| |
| |
Task-Switching Kernel | |
| |
| |
A Bootstrap Monitor | |
| |
| |
Problems | |
| |
| |
| |
The 68020 And 68030 Microprocessors | |
| |
| |
Basic Differences Between the 68000 and 68020 | |
| |
| |
Enhanced 68000 Instructions | |
| |
| |
New 68020 Instructions | |
| |
| |
The 68020''s New and Extended Addressing Modes | |
| |
| |
The 68020''s Supervisor State | |
| |
| |
Cache Memory and the 68000 Family | |
| |
| |
The Coprocessor | |
| |
| |
Summary | |
| |
| |
Problems | |
| |
| |
APPENDICES | |
| |
| |
| |
Glossary | |
| |
| |
| |
The 68000''s Instruction Set | |
| |
| |
Selected 68020 Instructions | |
| |
| |
The 68000 Cross-assembler and Simulator | |
| |
| |
Bibliography | |
| |
| |
Index | |