ECE 3610 Microprocessing Systems
Assignment 1
Assignment #1
1. Explain the function of the following registers in a CPU.
a) Program counter (PC);
b) Memory address register (MAR);
c) Memory buffer register (MBR);
d) Instruction register (IR);
e) Current processor status register (CPSR).
2. Why does the program counter increment in steps of four (4) in the ARM architecture, rather than by steps of one (1)?
3. Why does the ARM provide a reverse subtract instruction RSB r0,r1,r2 that implements
[r0] = [r2] – [r1] when the normal subtraction instruction SUB r0,r2,r1 will do the same job?
4. Write an ARM assembly language routine to count the number of ‘1’s in a 32-bit word. The word is already stored in r0.
The resulting count should be stored in register r1.
5. Write one or more ARM instructions that will clear bits 20 to 25 inclusive in register r0. All the other bits of r0
should remain unchanged.
Winter 2026