Question: Often I hear people around me who like to discussion about writing in assembly language and which is one of those reasons I'm also want to learn to write it. Currently I'm learning assembly and C together.

So, my question is when do you ever need to write assembly in real code?  

Is it just good to learn?  

Are there are any real uses of it when writing code in C?

Any helpful comments or answers will be appreciated!

Answer: 
I was going to write a long post but decided to summarize instead:

1. embedded code, boot loaders, compiler backends
2. yes, it will help you understand and debug your compiled code
3. the only time I have used it in c is for reading the real time clock register
Professional use of assembly language is quite common in the embedded world. There are lots of applications around us where microcontrollers do simple but useful things. For example, have a look at the [tinyAVR family of microcontrollers from Atmel](http://www.atmel.com/dyn/products/devices.asp?category_id=163&family_id=607&subfamily_id=791&source=left_nav), especially the ATtiny13 with its ridiculously small 1kB program memory and no RAM at all except for the 32 8-bit CPU registers. It's amazing though, what these chips are [capable of](http://www.youtube.com/watch?v=d4-kF-MkP0A). That chip costs about one dollar when bought in large quantities. So when you produce a large quantity of a device that needs simple (or even not quite simple) logic, the savings in hardware production costs far outweigh the overhead of hand-crafting the code in assembler to make it work on an extremely limited platform.