As there are 24 PCR's in TPM 1.2 specification. Some of these PCRs are reserved and cannot be extended by user's code. Below are the PCR Index with their usage:

0 - CRTM, BIOS and Platform Extensions  
1 - Platform Configuration  
2 - Option ROM Code  
3 - Option ROM Configuration and Data  
4 - IPL Code (MBR Information and Bootloader Stage 1)  
5 - IPL Code and Configuration Data (for use by IPL Code)  
6 - State Transition and Wake Events  
7 - Reserved for future usage. Do not use.  
8 - Bootloader Stage 2 Part 1  
9 - Bootloader Stage 2 Part 2  
10 - Not in Use.  
11 - Not in Use.  
12 - Bootloader Command line Arguments  
13 - Files checked via check-file routine  
14 - Files which are actually loaded (e.g. Linux kernel, initrd, modules..)  
15 - Not in Use.  
16 - Not in Use.  
17 - DRTM  
18 to 23. Not in Use.

What I understood that a user can extend all the PCR's which are not in use? Is this correct? I asked this question Because I have written my own code to extend PCR's (by following https://www.cylab.cmu.edu/tiw/slides/challener-handout.pdf)  and it turns out that i can extend all the PCR's except from PCR 17 to PCR 22. And my understanding was that I can only extend few and especially cannot play with the lower ones from PCR 0 to PCR 7.

Your help is highly appreciated! I can send the code as well if required!