Salah satu pendekatan adalah melihat daftar perakitan program.
Setelah mengkompilasi program (melalui tombol Verifikasi atau Unduh) temukan direktori tempat file .cpp, .hex, dan .elf untuk program disimpan. (Jika Anda kesulitan menemukannya, aktifkan opsi kompilasi verbose secara singkat di arduino IDE dan lihat nama direktori di output.)
Dalam direktori itu, jalankan avr-objdump -S fn.cpp.elf di > listing.txt mana fn.cpp.elf adalah nama sketsa Anda dengan .inodilepas dan .cpp.elfditambahkan di akhir. Misalnya, dengan sketsa serialecho.ino:
avr-objdump -S serialecho.cpp.elf> listing.txt
Lihat listing.txtfile, dan kurangi alamat awal setiap fungsi dari alamat akhir, menggunakan hitung aritmatika. Misalnya dengan setupkode
void setup () {Serial.begin (9600); }
dalam daftar kita akan lihat
00000144 <setup>:
...(6 lines snipped)...
144: 26 e0 ldi r18, 0x06 ; 6
146: 40 e8 ldi r20, 0x80 ; 128
148: 55 e2 ldi r21, 0x25 ; 37
14a: 60 e0 ldi r22, 0x00 ; 0
14c: 70 e0 ldi r23, 0x00 ; 0
14e: 80 e1 ldi r24, 0x10 ; 16
150: 92 e0 ldi r25, 0x02 ; 2
152: db c1 rjmp .+950 ; 0x50a <_ZN14HardwareSerial5beginEmh>
00000154 <loop>:
Perhitungan 0x154–0x144 = 0x10 menunjukkan bagian setupini panjangnya 16 byte.
Contoh-contoh ini dihasilkan pada sistem linux. Saya pikir pendekatannya sama pada sistem MSWindows kecuali Anda mungkin perlu mengatakan avr-objdump.exealih-alih avr-objdump, dan mungkin perlu menentukan jalurnya. Lihat, misalnya, hasil Assemler, di mana? utas di forum.arduino.cc.