Accumulator (ACC)

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Accumulator (ACC)

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. Which register holds the results of calculations done by the ALU?
A Accumulator (ACC)
B Program counter (PC)
2. The accumulator is found in the...
A Hard disk drive
B CPU
3. The ALU adds 5 and 3. Where is the result of 8 held straight away?
A In the accumulator
B In the address bus
4. True or false: The accumulator can store an intermediate result part way through a longer calculation.
A True
B False
5. Which statement about the accumulator is correct?
A It holds the address of the next instruction to fetch
B It is used by the ALU when it performs calculations

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1ACC AThe program counter (PC) holds the address of the next instruction. The accumulator holds data and results of ALU calculations.
2ACC ← ACC + MDR BThe accumulator, a CPU register that holds the data being worked on and the results of ALU calculations
3The accumulator stores an intermediate result while a calculation is still in progress CACC ← 5 + 3 (then ACC ← ACC * 2)
4After the ALU finishes, the result in the accumulator is saved back to memory or output DThe ALU adds the value fetched from memory to the value in the accumulator, and the new result replaces the old value in ACC
5The ACC fetches instructions from RAM and decodes them EThe accumulator does not fetch or decode instructions. It holds data and ALU results. The CIR holds the current instruction and the control unit decodes it.
6The ACC holds the address of the next instruction to run FSTORE 200 (copies ACC to address 200)

Definitions

Accumulator (ACC)

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
___ ← 8 + 2
2.
LDA 20 ADD 21 ___ 22
3.
ACC ← 9 - 4 OUTPUT ___
4.
___ 20 ADD 21 STA 22
5.
ACC ← 6 ACC ← ACC _ 4 STA 30

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A LOAD 7 INTO ACC
B ADD 5 TO ACC
C ACC NOW HOLDS 75
Question 2
A ACC ← 10
B ACC ← ACC - 4
C // ACC now holds 6
D STORE PC TO address 50
Question 3
A ACC ← 4
B ACC ← ACC + 3
C // ACC now holds 12
D OUTPUT ACC
Question 4
A LDA 100 // RAM to ACC
B ADD 101 // ALU adds to ACC
C STA 102 // RAM to ACC
Question 5
A LOAD price INTO ACC
B ADD tax TO MAR
C STORE ACC IN total

Answer Key

Accumulator (ACC)
Section A: Quick Questions
Q1
A — Accumulator (ACC)
Q2
B — CPU
Q3
A — In the accumulator
Q4
A — True
Q5
B — It is used by the ALU when it performs calculations
Section B: Match the Pairs
Q1
ACC → The accumulator, a CPU register that holds the data being worked on and the results of ALU calculations
Q2
ACC ← ACC + MDR → The ALU adds the value fetched from memory to the value in the accumulator, and the new result replaces the old value in ACC
Q3
The accumulator stores an intermediate result while a calculation is still in progress → ACC ← 5 + 3 (then ACC ← ACC * 2)
Q4
After the ALU finishes, the result in the accumulator is saved back to memory or output → STORE 200 (copies ACC to address 200)
Q5
The ACC fetches instructions from RAM and decodes them → The accumulator does not fetch or decode instructions. It holds data and ALU results. The CIR holds the current instruction and the control unit decodes it.
Q6
The ACC holds the address of the next instruction to run → The program counter (PC) holds the address of the next instruction. The accumulator holds data and results of ALU calculations.
Section C: Definitions
Q1
Accumulator (ACC) — A register in the CPU that holds data being worked on and the results of ALU calculations, storing intermediate results before they are saved back to memory or output.
Section D: Fill in the Blanks
Q1
ACC ← 8 + 2
Q2
LDA 20 ADD 21 STA 22
Q3
ACC ← 9 - 4 OUTPUT ACC
Q4
LDA 20 ADD 21 STA 22
Q5
ACC ← 6 ACC ← ACC * 4 STA 30
Section E: Spot the Error
Q1
C — The ALU adds 5 to the 7 in the ACC, so the ACC now holds 12, not 75. The line should be ACC NOW HOLDS 12.
Q2
D — The result of the calculation is held in the accumulator, so it is the ACC that is stored back to memory. The line should be STORE ACC TO address 50.
Q3
B — The comment says the ACC holds 12, which is 4 * 3. Adding 3 would give 7. The ALU should multiply: ACC ← ACC * 3.
Q4
C — STA stores the accumulator's result back into memory. It does not load from RAM into the ACC. The comment should say ACC to RAM.
Q5
B — The ALU works on the data held in the ACC and leaves the result there. The MAR only holds addresses. The line should be ADD tax TO ACC.