Hello!
I agree that it's not easy for learning.
As for the "very small and fast", it very much depends on what compiler you are using.
Modern compilers are so efficient that it's usually not worth bothering with assembler.
And beside this, C is so close to assembler that there is nothing you can do in assembler
and not in C.
A good way to verify this. When using your favorits C compiler, try to open the disassembly
window. You will notice that there is usually no way to optimize further.
Another point: if you write a function that will be used zillions of times, then yes, it might
be worth to write it in assembler (example: an FFT butterfly).
Now if you are writing initializations (that are performed once at boot time), then who cares
if it's inefficient?
Dora.