I have tried searching for the difference between these two terms but everything i find gives ambiguous results. can anyone explain to me what is the difference between a harware registar and a processor registar, if there is any?
A processor register is a storage element inside the processor which is used to hold numeric values, addresses, status or control bits which are involved in internal processor operations.
A hardware register is a storage element inside peripheral hardware (eg. an I/O port or DMA controller) which is separate from the processor. These are used to configure and control the peripheral hardware or hold data and status information relating to the peripheral.
As with most definitions, there are grey areas. Some architectures have processor registers in external memory or I/O space. Others have internal CPU registers which control peripherals or are connected I/O pins.