In response to some of the earlier mails.
I myself have coded for many systems in many languages. If you have experience of some form of Basic or Pascal etc. then Assembler can be very rewarding. I would say that assembler on ALL platforms out-performs (obviously) but more importantly; is easier to learn.
There is alot to be said about communicating directly with the hardware, although frowned upon these days, it is not ideal for future compatability.
Go for assembler. Learn C/C++ some other time.