AVR не лучший набор команд. Я бы сохранил его для второго или третьего набора инструкций. Но в конечном итоге вы можете оказаться там, потому что arduino невероятно популярен и пользуется хорошей поддержкой сообщества (хотя asm - исключение, а не правило в этом мире).
прямо сейчас вы можете получить плату msp430 за 4,30 доллара, в основном TI съедает плату за эти вещи. MSP430 хороший набор инструкций для изучения.
Armmite Pro не плохая доска размером с Arduino, но использует руку вместо avr. рука и большой палец - хорошие наборы инструкций.
Существуют эмуляторы практически для всего, написание эмулятора - хороший способ узнать, как все работает. Если ничего другого, я обычно рекомендую написать дизассемблер.
Кроме того, набор команд с компилятором C хорош тем, что вы можете написать некоторый код на C, поиграть с оптимизацией и посмотреть, какой тип ассемблера выводится, и узнать разные вещи о ассемблере. Сначала изучите некоторые приемы для повышения эффективности и производительности, позже вы сможете превзойти компилятор или, по крайней мере, быть на одном уровне. все упомянутые выше имеют своего рода компилятор C, avr и msp имеют способы заставить работать gcc, arm и thumb поддерживаются компиляторами mainline. Llvm автоматически является кросс-компилятором, поэтому вам не нужно компилировать компилятор для начала работы, бэкенд msp430 для llvm является экспериментальным, но должен работать или быть близким, бэкенды arm и thumb отлично работают (используйте -m32 в clang, чтобы избежать 64 бит целые числа на 64-битном хосте).
Микросхемы Stellaris, ранее Luminary Micro, теперь TI (Texas Instruments) хороши, только thumb / thumb2. Mbed на самом деле довольно хорош, кроме синих светодиодов (дайте мне мигрень), вам не нужно фиксировать в песочнице, подключить USB, он монтируется как файловая система, скопировать ваш .bin файл на флэш, нажать кнопку сброса и он запускает вашу программу.
sparkfun.com - ваш друг, разработчик инструментов, и у всех игроков есть длинный список плат на основе микроконтроллеров. плата msp430, о которой я упоминал, стоит около 5 долларов, armmite pro, много ардуинских ароматов, я рекомендую площадку lilly, она примерно той же цены, что и arduino pro, но уже имеет припаянный заголовок для использования с маленьким usb к серийным вещам, которые вы также захотите приобрести. Stellaris не представлен на sparkfun, но есть много плат за $ 50.
Платы msp430, armmite pro, arduino, stellaris, mbed и другие нуждаются в питании, которое обычно подается через кабель usb, или, в некоторых случаях, для передачи данных по USB на основе ftdi
Если вы идете по пути эмулятора, qemu поддерживает несколько наборов команд, arm / thumb. там есть геймбой и эмуляторы. эмулятор ideas nds в исходном виде поставляется с ядрами arm для arm9 и arm7, хотя я не пытался извлечь и использовать их самостоятельно. Если вы хотите пойти в старую школу, есть тонны эмуляторов 6502 и z80, и некоторые компиляторы верят этому или нет, конечно, ассемблер.
Последний ассемблер, который я узнаю, это x86, ужасный набор инструкций, и с вариациями и микрокодированием вы не собираетесь превзойти компилятор по всем направлениям, да, ваш компьютер на данный момент, но на всех компьютерах x86 это не стоит времени , Другие наборы инструкций важнее знать (arm, thumb, thumb2, avr).