It's bad enough when someone asks a shell scripting question but can't be bothered to mention what computer, what os, what language, etc. But this really takes the cake.
Some systems have a separate I/O address space with special instructions to access them. Those special instructions are usually encapsulated into routines to be called by the driver. I don't remember the names but readl and writel does not seem to right a bell. However, they might be right for your os. If your computer really maps the registers into memory and you know the address, you probably can do stuff like:
char status;
char *StatusReg = (char *) 0xFF123456;
status = *StatusReg;
I thought that this technique was passé, but maybe your computer uses it. If your device uses a collection of registers and you know the base address where one of them resides, the others are usually right next to them in ascending addresses. And this tends to be true whether the registers are mapped into the same address space as memory, or have an address space of their own. But beware, some registers can be read-only while other might be write-only. If a device has both read-only and write-only registers, it is not unusual for two registers to share the same address.