An accumulator is a working register that every calculation goes through. In Tiny8, the ACC (8 bits) is:
- one input of every ALU operation, with the other operand read from memory;
- the place every result goes.
So ADD a means ACC ← ACC + M[a]. Results accumulate: a chain of ADDs builds a running total.
This makes the instruction format small. Each instruction names only one memory address, because the other operand and the destination are always the ACC. Machines like this are called one-address or accumulator machines.
The cost: every value has to pass through one register. To combine two memory words you LOAD one, ADD the other, and STORE the result. Modern CPUs use a register file of many registers instead.
In Tiny8, values are unsigned and wrap modulo 256, and the zero flag loads every time the ACC does.