No.1ベストアンサー
- 回答日時:
>ArduinoアセンブラでLチカ
>http://qiita.com/TakeoChan/items/8362eaf53cf1992 …
>【Arduino】アセンブラ入門 その1
>http://nn-hokuson.hatenablog.com/entry/2017/09/1 …
>arduinoの逆アセンブラーリスト
>http://blog.goo.ne.jp/cookchant/e/2e7d037ebaea8f …
こういう感じらしいです。
No.3
- 回答日時:
リンカはlssという拡張子の、ソースとアセンブラを交互に示したようなファイルも出力できます。
Arduinoは徹底的ににそういう情報をユーザーに見せないようにしているはなぜなんだろうと思います。
あくまで気軽に使えるオモチャであり、デバッグなんて専門的なことはさせないという強固な意志を感じますね。
追加の回答ありがとうございます。
>Arduinoは徹底的ににそういう情報をユーザーに見せないようにしているはなぜなんだろうと思います。
同感です。
Arduinoは8ビットマシンなので、メモリ空間が小さく、
ちょっとしたループ、たとえば
for(i=0; i<100; i++) の 変数i は、8bit で十分なので、
int は8ビットの方がふさわしいと思っていたのですが、コンパイル結果からすると16ビットで扱っていましたね。
>あくまで気軽に使えるオモチャであり、デバッグなんて専門的なことはさせないという強固な意志を感じますね。
なるほど、そのように理解するのですね。参考になります。
「動きゃいい」のではなく、「美しいコードで動いてほしい」と思う美意識の自己満足派には辛い仕様ということですね。
今回のコンパイル結果から、
char か byte で変数宣言しないと、非効率な美しくないコードになってしまう
こと、確認しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行ファイルからソースはみれる?
-
アセンブラからC言語に変換する...
-
素数を求めるプログラム(アセン...
-
GCCの.cfi_系について
-
アセンブラ言語で
-
ライン数とステップ数の違いは?
-
データコピー
-
バイナリの実行ファイルをgccを...
-
アセンブラのLA
-
PDP-11のアセンブラ課題
-
現在、アセンブラは使われてい...
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
ビットシフトってどんな時使うの?
-
シーケンス制御についての質問...
-
03分22秒36のような時間の単位...
-
マイクロコンピューター制御の...
-
キャッシュメモリとレジスタの...
-
MIPSアセンブラの問題です。
-
Python: 数値を反転させたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アセンブラからC言語に変換する...
-
ライン数とステップ数の違いは?
-
実行ファイルからソースはみれる?
-
アセンブラ言語がわかりません。
-
アセンブラのLA
-
PC-9801でマシン語を学習するに...
-
[C言語→アセンブリ言語]はどう...
-
アセンブラwordという単位
-
アセンブラ言語で質問です。
-
アセンブラで割り算
-
PICに書き込むプログラムや変数...
-
バイナリの実行ファイルをgccを...
-
PICはアセンブラとC言語のどち...
-
SHの命令の意味について
-
MPLAB IDE v8.92アセンブラにつ...
-
【H8マイコン】HEWで埋め込みア...
-
素数を求めるプログラム(アセン...
-
IBM system/360
-
void __cdeclなど_
-
このアセンブラの意味を教えて...
おすすめ情報
備忘録の意味を込めて書きます。
arduino.exe を実行し、対象となるスケッチをコンパイルすると、
C:\Users\ユーザ名\AppData\Local\Temp\
に
arduino_build_*****
が作成され、そこの スケッチ名.ino.elf を
\hardware\tools\avr\binにあるavr-objdump.exeを使って
コマンドプロンプトで
avr-objdump -S -h -t -r スケッチ名.ino.elf>スケッチ名.txt
を実行することで、
コンパイル結果を機械語(アセンブラ)で表示すること
ができました。
スケッチ内の変数名や関数名は完全に失われているので、ソースと翻訳結果の対応づけは面倒でした。