Introduction, What is programming?, Flowcharting, Information Representation

Introduction, System Architecture, Inside a Microprocessor, Internal Organization of the Z80, Instruction Formats, Execution of Instructions within the Z80, Hardware Summary

Introduction, Arithmetic Programs, BCD Arithmetic Multiplication, Binary Division, Instruction Summary, Subroutines, Summary

Introduction, Classes of Instructions, Summary, Individual Descriptions

Introduction, Possible Addressing Modes, Z80 Addressing Modes, Using the Z80 Addressing Modes, Summary

Introduction, Input/Output, Parallel Word Transfer, Bit Serial Transfer, Peripheral Summary, Input/Output Scheduling, Summary

Introduction, The Standard PIO, The Internal Control Register, Programming a PIO, The Zilog Z80 PIO

Introduction, Clearing a Section of Memory, Polling I/O Devices, Getting Characters In, Testing A Character, Bracket Testing, Parity Generation, Code Conversion: ASCII to BCD, Convert Hex to ASCII, Finding the Largest Element of a Table, Sum of N Elements, A Checksum Computation, Count the Zeroes, Block Transfer, BCD Block Transfer, Compare Two Signed 16-bit Numbers, Bubble-Sort, Summary

Introduction, Pointers, Lists, Searching and Sorting, Section Summary

Introduction, Data Representation for the List, A Simple List, Alphabetic Set, Linked List, Summary

Introduction, Basic Programming Choices, Software Support, The Program Development Sequence, Hardware Alternatives, The Assembler, Conditional Assembly, Summary

Technological Development, The Next Step

Hexadecimal Conversion Table

ASCII Conversion Table

Relative Branch Tables

Decimal to BCD Conversion

Z80 Instruction Codes

Z80 to 8080 Equivalence

8080 to Z80 Equivalence

Fig. 1.1: A Flowchart for Keeping Room Temperature Constant

Fig. 1.2: Decimal-Binary Table

Fig. 1.3: 2's Complement Table

Fig. 1.4: BCD Table

Fig. 1.5: Typical Floating-Point Representation

Fig. 1.6: ASCII Conversion Table

Fig. 1.7: Octal Symbols

Fig. 1.8: Hexadecimal Codes

Fig. 2.1: Standard Z80 System

Fig. 2.2: "Standard" Microprocessor Architecture

Fig. 2.3: Shift and Rotate

Fig. 2.4: The 16-bit Address Registers Create the Address Bus

Fig. 2.5: The Two-Stack Manipulation Instructions

Fig. 2.6: Fetching an Instruction from the Memory

Fig. 2.7: Automatic Sequencing

Fig. 2.8: Single-Bus Architecture

Fig. 2.9: Execution of an Addition - R0 into ACC

Fig. 2.10: Addition - Second Register R1 into ALU

Fig. 2.11: Result Is Generated and Goes into R0

Fig. 2.12: The Critical Race Problem

Fig. 2.13: Two Buffers Are Required (Temp Registers)

Fig. 2.14: Internal Z80 Organization

Fig. 2.15: Typical Instruction Formats

Fig. 2.16: The Code Registers

Fig. 2.17: Instruction Fetch - (PC) Is Sent to the Memory

Fig. 2.18: PC Is Incremented

Fig. 2.19: The Instruction Arrives from the Memory into IR

Fig. 2.20: Transferring C into D

Fig. 2.21: The Contents of C Are Deposited into TMP

Fig. 2.22: The Contents of TMP are Deposited into D

Fig. 2.23: Two Transfers Occur Simultaneously

Fig. 2.24: End of ADD r

Fig. 2.25: FETCH-EXECUTE Overlap during T1-T2

Fig. 2.26: Intel Abbreviations

Fig. 2.27: Intel Instruction Formats

Fig. 2.28: Transfer Contents of HL to Address Bus

Fig. 2.29: LD A,(ADDRESS) Is a 3-Word Instruction

Fig. 2.30: Before Execution of LD A

Fig. 2.31: After Execution of LD A

Fig. 2.32: Second Byte of Instruction Goes into Z

Fig. 2.33: Z80 MPU Pin out

Fig. 3.0: The Z80 Registers

Exercise 1.1 (solution), Exercise 1.2 (solution), Exercise 1.3 (solution), Exercise 1.4 (solution), Exercise 1.5 (solution), Exercise 1.6 (solution), Exercise 1.7 (solution), Exercise 1.8 (solution), Exercise 1.9 (solution), Exercise 1.10 (solution), Exercise 1.11 (solution), Exercise 1.12 (solution), Exercise 1.13 (solution), Exercise 1.14 (solution), Exercise 1.15 (solution), Exercise 1.16 (solution), Exercise 1.17 (solution), Exercise 1.18 (solution), Exercise 1.19 (solution), Exercise 1.20 (solution), Exercise 1.21 (solution), Exercise 1.22 (solution), Exercise 1.23 (solution), Exercise 1.24 (solution), Exercise 1.25 (solution), Exercise 1.26 (solution), Exercise 1.27 (solution), Exercise 1.28 (solution), Exercise 1.29 (solution), Exercise 1.30 (solution), Exercise 1.31 (solution), Exercise 1.32 (solution)

Exercise 2.1 (solution), Exercise 2.2 (solution), Exercise 2.3 (solution).

Exercise 3.1 (solution), Exercise 3.2 (solution), Exercise 3.3 (solution), Exercise 3.4 (solution), Exercise 3.5 (solution), Exercise 3.6 (solution), Exercise 3.7 (solution), Exercise 3.8 (solution), Exercise 3.9 (solution), Exercise 3.10 (solution), Exercise 3.11 (solution), Exercise 3.12 (solution), Exercise 3.13 (solution), Exercise 3.14 (solution), Exercise 3.15 (solution), Exercise 3.16 (solution), Exercise 3.17 (solution), Exercise 3.18 (solution), Exercise 3.19 (solution), Exercise 3.20 (solution), Exercise 3.21 (solution), Exercise 3.22 (solution), Exercise 3.23 (solution), Exercise 3.24 (solution), Exercise 3.25 (solution), Exercise 3.26 (solution), Exercise 3.27 (solution), Exercise 3.28 (solution), Exercise 3.29 (solution), Exercise 3.30 (solution), Exercise 3.31 (solution), Exercise 3.32 (solution), Exercise 3.33 (solution), Exercise 3.34 (solution), Exercise 3.35 (solution).

Exercise 5.1 (solution), Exercise 5.2 (solution), Exercise 5.3 (solution), Exercise 5.4 (solution), Exercise 5.5 (solution), Exercise 5.6 (solution), Exercise 5.7 (solution), Exercise 5.8 (solution), Exercise 5.9 (solution), Exercise 5.10 (solution), Exercise 5.11 (solution), Exercise 5.12 (solution), Exercise 5.13 (solution).

Exercise 6.1 (solution), Exercise 6.2 (solution), Exercise 6.3 (solution), Exercise 6.4 (solution), Exercise 6.5 (solution), Exercise 6.6 (solution), Exercise 6.7 (solution), Exercise 6.8 (solution), Exercise 6.9 (solution), Exercise 6.10 (solution), Exercise 6.11 (solution), Exercise 6.12 (solution), Exercise 6.13 (solution), Exercise 6.14 (solution), Exercise 6.15 (solution), Exercise 6.16 (solution), Exercise 6.17 (solution), Exercise 6.18 (solution), Exercise 6.19 (solution), Exercise 6.20 (solution), Exercise 6.21 (solution), Exercise 6.22 (solution), Exercise 6.23 (solution), Exercise 6.24 (solution), Exercise 6.25 (solution), Exercise 6.26 (solution), Exercise 6.27 (solution), Exercise 6.28 (solution), Exercise 6.29 (solution), Exercise 6.30 (solution), Exercise 6.31 (solution), Exercise 6.32 (solution).

Exercise 8.1 (solution), Exercise 8.2 (solution), Exercise 8.3 (solution), Exercise 8.4 (solution), Exercise 8.5 (solution), Exercise 8.6 (solution), Exercise 8.7 (solution), Exercise 8.8 (solution), Exercise 8.9 (solution), Exercise 8.10 (solution), Exercise 8.11 (solution), Exercise 8.12 (solution), Exercise 8.13 (solution), Exercise 8.14 (solution), Exercise 8.15 (solution), Exercise 8.15 (solution).