Just my 2 cents, but I do not see much use in programming a modern microcontroller in assembly. IMHO that's just a needlessly hard way of doing things, and a good compiler (e.g. Basic or C) produces code that in 99% of the case is just as efficient (or more efficient, unless you are a really experienced assembly programmer!), with 10% of the effort on the programmer's side. And any decent compiler will let you insert short sections of machine code in places where this is absolutely necessary (e.g. to have super-precise execution timing, or to access features the compiler does not expose).
Both with compiled Basic and with assembly you'll need a programmer to burn the program onto the chip, so hardware costs are the same. And there are several compilers out that offer a decent free version. I recently got myself the Mikroelektronika development board and MikroC compiler; I paid for the full version (doesn't break the bank), but their free version produces up to 2K of machine code. I have yet to write a program that is larger than that (my largest fills just 1.5K), and my guess that is true for most people on this forum. Converting a 500 line Picaxe program to MikroC took me just over a day (but I have to admit I worked part-time as a professional software developer in C/C++ for a few years).
As a plug for the Picaxe though, on average don't expect gigantic gains in execution speed by going from a Picaxe to a compiled program (or assembler). I frequently heard factors like 100 - 200 or more, but in practice that's only true for very simple tasks - toggling an output pin being one of them (and that is frequenty taken as a simple but quite useless benchmark). Once you go to more complex tasks (reading the ADC, using the serial port), that advantage is reduced my a lot. The reason is that the time to parse an command on a Picaxe is about the same all the time, but the actual effort to execute the task strongly varies, and some tasks (e.g. readadc) can't be done infinitely fast.
I converted two larger programs so far, and the speed gain I observe is more of the order between 5 - 15. That is after optimizing both the Picaxe code and the C code on their own as far as I could. Still not bad, but not as gigantic as most people would assume, and the required hardware and software is definitely much more complex than the Picaxe programming editor and the Picaxe download circuit (although Mikroelektronika is doing an excellent job in making it as painless as possible).
If course all that's my personal opinion, and I'm sure others may disagree!
Wolfgang