Contents

  1. Before you start
  2. A little history: a processor in your pocket
  3. Lesson 1. The A register and the ALU: a calculator on toggles
    1. 1.1. The idea: one action per clock cycle
    2. 1.2. Operations and their codes
    3. 1.3. How it works
    4. 1.4. Building
    5. 1.5. Check
    6. Lesson 1 as a paste (Cmd+I)
  4. Lesson 2. The program counter and the ROM: running lights from a program
    1. 2.1. The idea: a program = toggle settings written down in advance
    2. 2.2. The instruction word — 16 bits
    3. 2.3. The program
    4. 2.4. Building
    5. 2.5. Check
    6. Lesson 2 as a paste (Cmd+I)
  5. Lesson 3. Memory, ST and screen memory: digits on the LCD from a program
    1. 3.1. The idea: the screen is memory
    2. 3.2. The address and the write strobe
    3. 3.3. The program
    4. 3.4. Building
    5. 3.5. Check
    6. Lesson 3 as a paste (Cmd+I)
  6. Lesson 4. Flags and jumps: a 0–9 counter in a program
    1. 4.1. The idea: the next address is not always PC + 1
    2. 4.2. The program
    3. 4.3. Building
    4. 4.4. Check
    5. Lesson 4 as a paste (Cmd+I)
  7. Lesson 5. Subroutines, ports and the "second" flag: a watch as a program
    1. 5.1. The idea: a subroutine and the return address
    2. 5.2. The idea: ports, a "memory" that reads buttons
    3. 5.3. The idea: the "second" flag and two clocks
    4. 5.4. The program
    5. 5.5. Building it
    6. 5.6. Check
    7. Lesson 5 as a paste (Cmd+I)
  8. Lesson 6. The game as a program: "Star Harvest" on the processor
    1. 6.1. The idea: the game screen is memory too
    2. 6.2. The idea: hardware helpers and ports
    3. 6.3. The program
    4. 6.4. Building it
    5. 6.5. Check
    6. 6.6. The processor in one chip
    7. Lesson 6 as a paste (Cmd+I)
  9. Lesson 7. First programs: learning to write in assembly
    1. 7.1. The assembler window
    2. 7.2. How to think: a program is a recipe
    3. 7.3. Task 1. Your own time on the clock
    4. 7.4. Task 2. Repeating: counting forever
    5. 7.5. Task 3. Deciding: up to nine and again
    6. 7.6. Task 4. Waiting for a button
    7. 7.7. Task 5. A subroutine: score with carry
    8. 7.8. Task 6. Two things at once: a stopwatch and a button
    9. 7.9. What the assembler does
    10. 7.10. If something's wrong
  10. Lesson 8. Write the game yourself
    1. 8.1. What the machine has
    2. 8.2. The skeleton: waiting for an event
    3. 8.3. Stages
    4. 8.4. If something's wrong
    5. 8.5. The answer
    6. Checks (headless)
  11. Summary
  12. All the parts