technical description of arduino uno operation

Is there anywhere that gives a technical description of how the arduino works. I am wanting to use AVR studio 6 and AVRISP MKII to play with an arduino uno, particular with assembler programming.

I am wanting to understand how the bootloader operates, how the Uno starts after reset, can I still run the Arduino IDE after dowloading my code etc

Thank you for that.

My understanding from all the reading is the following.
At reset, the bootloader starts. It looks on the serial lines for any communication. If none is found, then the main flash progam is executed.

Is this right?

Where in main flash does execution start after the bootloader exits?


Yes, your conclusion is right.
Execution starts at address 0 after the bootloader exits.