• 締切済み

MIPSアセンブラ言語について

#include NULL 0 struct list{ struct list +next; int value; }; int sumvalue(sturuct list *head){ struct list *cur=NULL; int sum=0; for(cur = head; cur !=NULL; cur=cur->next){ sum += cur->value; } return sum; } このC言語で書かれた関数をMIPSアセンブラで記述するとどうなるのでしょうか?ポインタで混乱してます。

みんなの回答

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

コンパイラの出力を調べた方がよいと思います。 以下は参考まで... IRIX Cなどでは、マクロ命令も多く、アセンブラが命令を再配置することもあるので、実際のマシン語が知りたいのであれば、オブジェクトファイルを逆アセンブルした方が確実です。確か逆アセンブラもマクロ命令に変換したような気がするので、本当に厳密な要求に対してはハンド逆アセンブルするか、逆アセンブラを自作するか、単純な逆アセンブラを探す必要があります。

aho-3-aho
質問者

お礼

ありがとうございます。 私は素人で詳しいことは分かりません。詳しく教えていただいたのですが、単にMIPSアセンブラで記述するとどうなるかを知りたいのです。

関連するQ&A