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.2
- 回答日時:
変に苦労するよりAtmel Studio7にスケッチを取りこめば、吐き出したアセンブラリストが見れたりシミュレーションできたりデバッグ出来たり、いろいろ便利で快適だと思います。
回答ありがとうございます。
Atmel Studio7ですね。
#インストーラーダウンロートしました。 880MBでか!
チラ見するだけにしては本格的ですね。
ありがとうございます。
No.3
- 回答日時:
リンカはlssという拡張子の、ソースとアセンブラを交互に示したようなファイルも出力できます。
Arduinoは徹底的ににそういう情報をユーザーに見せないようにしているはなぜなんだろうと思います。
あくまで気軽に使えるオモチャであり、デバッグなんて専門的なことはさせないという強固な意志を感じますね。
追加の回答ありがとうございます。
>Arduinoは徹底的ににそういう情報をユーザーに見せないようにしているはなぜなんだろうと思います。
同感です。
Arduinoは8ビットマシンなので、メモリ空間が小さく、
ちょっとしたループ、たとえば
for(i=0; i<100; i++) の 変数i は、8bit で十分なので、
int は8ビットの方がふさわしいと思っていたのですが、コンパイル結果からすると16ビットで扱っていましたね。
>あくまで気軽に使えるオモチャであり、デバッグなんて専門的なことはさせないという強固な意志を感じますね。
なるほど、そのように理解するのですね。参考になります。
「動きゃいい」のではなく、「美しいコードで動いてほしい」と思う美意識の自己満足派には辛い仕様ということですね。
今回のコンパイル結果から、
char か byte で変数宣言しないと、非効率な美しくないコードになってしまう
こと、確認しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラム Arduino 1 2022/07/03 11:13
- Windows 10 windows11のUSB接続の機器がcomポートに表示されない。 3 2023/04/13 07:51
- オープンソース arduino ide 2.0.0 について 1 2022/09/19 15:45
- 英語 会社で英語を使うことになっての英語の勉強方法 5 2022/07/03 11:49
- その他(プログラミング・Web制作) Arduinoに関する質問 4 2023/08/07 21:19
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- その他(プログラミング・Web制作) シリアル通信 2 2022/05/07 17:14
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- 英語 提示した結果構文が非文となる理由について 1 2022/07/25 12:22
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PICに書き込むプログラムや変数...
-
アセンブラのLA
-
データコピー
-
バイナリの実行ファイルをgccを...
-
アセンブラからC言語に変換する...
-
アセンブラで割り算
-
PICはアセンブラとC言語のどち...
-
PICのアセンブラからC言語へ変...
-
ライン数とステップ数の違いは?
-
SHの命令の意味について
-
素数を求めるプログラム(アセン...
-
素朴な疑問 (C言語とアセン...
-
情報処理技術者試験センター・...
-
MASMの機種依存についてお尋ね...
-
アセンブラエディタ
-
アセンブラ(アセンブリ)の何か...
-
PIC16F84AのデバイスでC言語を...
-
Linuxについて。
-
Cとアセンブリ
-
【H8マイコン】HEWで埋め込みア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ライン数とステップ数の違いは?
-
アセンブラからC言語に変換する...
-
Windowsはオープンソースですか?
-
[C言語→アセンブリ言語]はどう...
-
実行ファイルからソースはみれる?
-
PICはアセンブラとC言語のどち...
-
void __cdeclなど_
-
アセンブラ言語がわかりません。
-
このアセンブラの意味を教えて...
-
エンディアンについて。
-
アセンブラのコマンドについて
-
PICのアセンブラからC言語へ変...
-
アセンブラで割り算
-
最初のアセンブラ
-
CASIOのポケコンZ-1GRのアセン...
-
SHの命令の意味について
-
PC-9801でマシン語を学習するに...
-
PC-9801 MS-DOSでの実行ファイ...
-
アセンブラのLA
-
masm32がうまく動きません。
おすすめ情報
備忘録の意味を込めて書きます。
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
を実行することで、
コンパイル結果を機械語(アセンブラ)で表示すること
ができました。
スケッチ内の変数名や関数名は完全に失われているので、ソースと翻訳結果の対応づけは面倒でした。