é possivel fazer e não precisa ter nada instalado...
cada vez que você compila um sketch no arduino, ele cria uma pasta contendo todos os arquivos do sketch/bibliotecas inclusive o .hex (aqui no meu caso o caminho é esse). Esse é um diretório
C:\Documents and Settings\[USUARIO]\Configurações locais\Temp\build8751132421165911833.tmp\ [arquivos]
para não ter que ficar procurando, pesquise por arquivos *.elf // esse é o arquivo necessário e não o hex.
achado o elf do seu sketch, copie e cole ele dentro >> [pasta do arduino]\hardware\tools\avr\bin
lá dentro haverá um programa chamado avr-objdump.exe
com um terminal dentro desta pasta digite
[b]avr-objdump.exe -S [seu_sketch].cpp.elf > asm.txt
[/b]
e para aproveitar o terminal aberto já digite notepad asm.txt. Pronto!
aqui vai o blink em assembler// eu retirei muita coisa e só deixei aqui o setup e loop pra ter uma ideia...
void loop() {
digitalWrite(13, HIGH); // set the LED on
100: 8d e0 ldi r24, 0x0D ; 13
102: 61 e0 ldi r22, 0x01 ; 1
104: 0e 94 9c 01 call 0x338 ; 0x338 <digitalWrite>
delay(1000); // wait for a second
108: 68 ee ldi r22, 0xE8 ; 232
10a: 73 e0 ldi r23, 0x03 ; 3
10c: 80 e0 ldi r24, 0x00 ; 0
10e: 90 e0 ldi r25, 0x00 ; 0
110: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <delay>
digitalWrite(13, LOW); // set the LED off
114: 8d e0 ldi r24, 0x0D ; 13
116: 60 e0 ldi r22, 0x00 ; 0
118: 0e 94 9c 01 call 0x338 ; 0x338 <digitalWrite>
delay(1000); // wait for a second
11c: 68 ee ldi r22, 0xE8 ; 232
11e: 73 e0 ldi r23, 0x03 ; 3
120: 80 e0 ldi r24, 0x00 ; 0
122: 90 e0 ldi r25, 0x00 ; 0
124: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <delay>
}
128: 08 95 ret
0000012a <setup>:
void setup();
void loop();
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
12a: 8d e0 ldi r24, 0x0D ; 13
12c: 61 e0 ldi r22, 0x01 ; 1
12e: 0e 94 76 01 call 0x2ec ; 0x2ec <pinMode>
}
132: 08 95 ret
O bom disso é que ele mostra o comando e o equivalente em asm.
Aqui há algumas referências: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1240652220
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1207951658