Но есть же проект LLVM, в котором как раз и используется некий "высокоуровневый" ассемблер с виртуальными регистрами, а backend транслирует его в машинный код под конкретную архитектуру.
Если хочется добавить поддержку периферии МК, то можно использовать LLVM API, чтобы написать свой front-end для LLVM.
Вот пример кода (HelloWorld, сложение a + b в с, а также дергание пином/реле):
Но есть же проект LLVM, в котором как раз и используется некий "высокоуровневый" ассемблер с виртуальными регистрами, а backend транслирует его в машинный код под конкретную архитектуру.
Если хочется добавить поддержку периферии МК, то можно использовать LLVM API, чтобы написать свой front-end для LLVM.
Вот пример кода (HelloWorld, сложение a + b в с, а также дергание пином/реле):