>> so... when they say +3, does it mean that 0x240 becomes 0x243? Most devices have multiple ports for communication, read, wrtie, status, etc... 0x240 is the first, 0x243 is the fourth, etc... Writing (io+3) is the same as writing 0x243. Your not changing the value of io are doing anything to the 0x240 address, if that is what you were asking. It works the same as the follwoing: int i = 5, x, x1; int foo[16]; ... x = foo[i]; /* gets the 5th element */ x1 = foo[i+3]; /* gets the 8th element */ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/