একটি পদ্ধতির প্রোগ্রামের সমাবেশ তালিকা তাকান হয়।
প্রোগ্রামটি সংকলনের পরে (যাচাই বা ডাউনলোড বোতামের মাধ্যমে) ডিরেক্টরিটি সন্ধান করুন যেখানে প্রোগ্রামের জন্য .cpp, .hex, এবং .32 ফাইল সঞ্চিত হয়েছে। (যদি আপনার সেগুলি খুঁজে পেতে সমস্যা হয় তবে সংক্ষিপ্তভাবে আরডুইনো আইডিইতে ভার্বোজ কম্পাইল অপশনগুলি চালু করুন এবং আউটপুটে ডিরেক্টরিগুলির ডিরেক্টরিগুলি দেখুন))
সেই ডিরেক্টরিতে, avr-objdump -S fn.cpp.elf চালান > listing.txtযেখানে fn.cpp.elf হ'ল .inoবন্ধ করা এবং .cpp.elfশেষে যুক্ত হওয়া আপনার স্কেচের নাম । উদাহরণস্বরূপ, স্কেচ সহ serialecho.ino:
avr-objdump -S serialecho.cpp.elf> list.txt
listing.txtফাইলটি দেখুন এবং প্রতিটি কার্যের সূচনা ঠিকানা হেক্স গণিত ব্যবহার করে তার শেষ ঠিকানা থেকে বিয়োগ করুন। উদাহরণস্বরূপ, setupকোড সহ
অকার্যকর সেটআপ () {সিরিয়াল.বেগিন (9600); }
তালিকা আমরা দেখতে পাবেন
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>:
0x154–0x144 = 0x10 গণনাটি দেখায় যে এর অংশটি setup16 বাইট দীর্ঘ।
এই উদাহরণগুলি একটি লিনাক্স সিস্টেমে তৈরি করা হয়েছিল। আমি মনে করি কোনও MSWindows সিস্টেমে অ্যাপ্রোচ একই রকম হয় তবে আপনার avr-objdump.exeপরিবর্তে আপনাকে বলার avr-objdumpপ্রয়োজন হতে পারে এবং এর পথটি নির্দিষ্ট করার প্রয়োজন হতে পারে। দেখুন, উদাহরণস্বরূপ, এসেমেলার ফলাফল, কোথায়? ফোরাম.অর্ডুইনো সি সি তে থ্রেড।