[0]: https://c1.staticflickr.com/1/53/115619170_4445c593cd_o.jpg
[1]: https://c1.staticflickr.com/1/56/112758047_dc5b4bdc3b_o.jpg
[0]: https://c1.staticflickr.com/1/53/115619170_4445c593cd_o.jpg
[1]: https://c1.staticflickr.com/1/56/112758047_dc5b4bdc3b_o.jpg
Granted, it's (thankfully) been over a decade since I had to use a Microchip microcontroller, and they've presumably improved since. But Atmel got it right from the start. GCC-AVR produced beautiful assembly and their ISA was a joy to use. RIP Atmel.
I've never programmed MSP430s in assembly, but I have for PICs and found their instruction set to be more funky than AVR.
That said:
* Harvard architecture (split I & D memory)
* 8 bit registers
* Not at all orthogonal, and particularly painful for pointer addressing
* The stack pointer is annoying to work with
* Address wrap at physical memory bounds, rather than the bounds of address space
I could pick a bunch more nits that would only really be relevant to someone writing an emulator (complicated instruction decode, IO addressing, &c) but those are my big complaints.
I find MSP430 much more pleasant to work in.
I still have a couple of AVR32 NGW100 dev boards, they were really nice to work with.
Elegant, clean design (certainly compared to the old 8-bit PICs). Good taste. FOSS-friendly.
Microchip might be a Texan oilman in this comparison. Just keep pumping them PICs out don't listen to those commies with their 'GCC' and their 'lee-nux' - sounds foreign and suspicious.
This is obviously a tongue-in-cheek characterisation but I think that's what the OP was getting at.