--- Quote Start ---
i can understand what is commented, but i want to know i.e. "*(tse + 3) = 0x116E6001;" means?, mac address is of 6 bytes and this is an hexadecimal number which means it is of only 4 bytes, also what does this 3 represents.
--- Quote End ---
Your questions are more C programming issues than TSE related. The best book (in my opinion) on this is still Kernighan and Ritchie "C Programming Language".
You've defined tse as a pointer to an int. It is volatile since it points to hardware instead of RAM and can be changed outside your program. This stops the optimizer from making incorrect assumptions.
Assuming an "int" is 4-bytes (I always add an "assert(sizeof(int) == 4);" to make sure), adding 3 will be the value of tse + 4 * 3 = 0x00102000 + 0xC = 0x0010200C. The "*" in front means assign a value so:
"*(tse + 3) = 0x116E6001;"
writes 0x116E6001 to address 0x0010200C. You could also write "tse[3] = 0x116E6001;"
The tutorial was probably trying to be as straightforward as possible, but, as others have said, this is a horrible way to write code. Use defines or const int's.
I prefer to write a packed C struct with all the registers named something sensible.