Bom... programei muito ASM para a arquitetura x86, e cheguei até o SIMD com SSE/SSE2.
Em "alto nível" programo em C e C++, mas somente para computadores (Win32), não para microcontroladores.
Estou em vistas de, quando tiver paciencia e achar que compensa, criar uma linguagem " ASM++ " que tenha sintaxe parecida com o C++, porem que é traduzida diretamente para codigo binario. Algo como:
- Código: Selecionar todos
r16++;
// torna-se: inc r16
if ( cf( r16 += 5) )
r16 = 255;
// torna-se:
// sbi r16, -5
// brnc pc+2
// ser r16
e tudo mais, e com a mesma orientação a objetos que o C++, porém com mais liberdade para realizar "inline" das funções e inclusive uso inteligente de registradores (variaveis abstratas)... enfim, uma linguagem com transição
seamless entre C++ e ASM. Uma sintaxe que praticamente suporta arquivos .ASM e .CPP com o mesmo parser.
Logicamente criar uma ferramenta dessas para AVR não vale a pena. Eu estava imaginando fazer para o ARM-Cortex que eu espero que ainda vá dominar o mercado dos uC de 32 bits...
Bom, to deixando aqui a semente para que esse tópico se torne outro "C vs. ASM", igual deixei a semente no outro e rolou o que rolou hehehe.
e... pq a pergunta?
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.