
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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSが全く分かりません、お助け...
-
Windows Formアプリからコンソ...
-
DLLファイルの逆コンパイラにつ...
-
プログラマー達は何故、プログ...
-
バッチファイルで以下のような...
-
どちのほうがすきですか?
-
c言語
-
MACで動く実行ファイルをWindow...
-
どなたかこのプログラミングを...
-
終端記号、非終端記号とは
-
【C言語】全角文字の配列を、全...
-
C言語の関数のextern宣言
-
C言語について(初心者)
-
プログラミングc++を全く分か...
-
あってる
-
プログラミング言語でアプリや...
-
次の記述について
-
C#でTreeViewのCheckBoxのサイ...
-
次の日本語の意味を教えて下さい
-
右ビットシフト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラム言語
-
ライン数とステップ数の違いは?
-
アセンブラからC言語に変換する...
-
アセンブラwordという単位
-
【H8マイコン】HEWで埋め込みア...
-
アセンブラ言語がわかりません。
-
実行ファイルからソースはみれる?
-
アセンブリ言語について。
-
MPLAB IDE v8.92アセンブラにつ...
-
素数を求めるプログラム(アセン...
-
YellowIDE6でのコンパイルについて
-
アセンブラで割り算
-
マシン語で再起動を書くには?
-
PICC(HI-TECH SoftWare)によるI...
-
アセンブラのLA
-
このアセンブラの意味を教えて...
-
PICのアセンブラからC言語へ変...
-
アセンブラで筆算的加減算が書...
-
高級言語がアセンブリ言語に比...
-
Windowsはオープンソースですか?
おすすめ情報
備忘録の意味を込めて書きます。
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
を実行することで、
コンパイル結果を機械語(アセンブラ)で表示すること
ができました。
スケッチ内の変数名や関数名は完全に失われているので、ソースと翻訳結果の対応づけは面倒でした。