Assembly é uma linguagem de programação como o C, mas você tem que programar na UNHA diretamente operando os REGISTRADORES e outras funções de baixo nível.
O C++ é uma linguagem que usa um compilador que depois é lido pelo sistema operacional que executa as funções.
A IDE do arduino pura você programa em uma variação de C++ (vi uma vez alguém programando em PYTHON), que depois é convertido em um arquivo HEX (que é a linguagem de máquina) executada pelo microprocessador.
Se não ficou satisfeito com a resposta, espero que alguém com mais paciência possa responder.