Hi Guys.
I just start C programming for Micro Processor. I learned the C programming for 8085(8 bit) micro Processor. Now I'm Switching to 8086(16 bit) micro Processor. My aim is to Write a Simple Kernel for 32-bit Micro Processor in C language as My Final year Project.
I have Few doubts regarding this Topic.. So guys help me Out:

1. Can Programming for 16-bit micro processor will help me in Writing Programms For 32 bit Micro Processor or I Should Directly Switch to 32 bit without wasting time on 16 bit Micro Processor.???
2. What kind of Changes Take Place between 32-bit & 16-bit (I think its Only registers and Concept of Memory handling.) I mean What Changes will occur in the Programming while Switching on 32-bit after 16-bit..???
3. People Advice me To Switch on Assembly language. So in this case Which is better ASM or C ???
4. If I learn Programming for a 32 bit Micro Processor manufactured by a particular Company then Is there any Change in Programming for another 32 bit Micro Processor manufactured by another Company.???
5. Someone Please Advice me A good Tutorial for 16-bit or 32-bit Micro Processor in C or ASM ????
6. What Should A Basic Kernel Contains or Perform According to You..???

Hufff... I think I ask Too much.. But Guys Please Patiently Answer my Questions.. I really Need HELP..!!! THANKS ^-^