• ベストアンサー

アセンブラからC言語に変換するにはどうすればいいのでしょうか?

アセンブラのプログラムをどうにか解読して、C言語に置き換えようとこつこつ行っています。 ですが、プログラム量が多いので解読に時間を要してしまいます。 どうにかして変換したいのですが、手早く変換できる方法はありませんでしょうか? また、自分で調べても分からない単語があります。(見落としているかもしれませんが)  .EQU   .BEQU この二つのコマンドが何を示しているのかがわからないのでこれについても教えてもらえたらうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#29459
noname#29459
回答No.3

どういう目的でやるのかもあるとおもいますが、単に、今動いているアセンブラプログラムを、その環境がなくなるので、Cで書き換えて、新しい環境に移したい、とかいうのであれば、そうですね。  まず、I/O関係のサブルーチンは、全部、解読する必要があるでしょう。  で、それへの入力パラメータと、リターン値も。変数変更とかもあれば、それも、読む。  で、純粋に、演算部分のみのところは、Cで、レジスタ操作をシミュレートするように、すると。多少、テクニックがあれば、コードジェネレータみたいなアプローチもありえます。  ようは、 元のコードのやっている内容 コメントおよび保守文書がどの程度あるか 全体のボリューム 作業にかかる智がいかほどか ということになりましょうか。旧のアセンブラコードが、新の環境でも動くなら、全部を移植ではなくて、必要不可欠な部分のみ、Cにして、C+asmにするという手もあるかと。

rador
質問者

お礼

ありがとうございます。 関係のなさそうな記述を飛ばしながらやっていきたいと思います。

その他の回答 (2)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1
  • arain
  • ベストアンサー率27% (292/1049)
回答No.2

>どうにかして変換したいのですが、手早く変換できる方法はありませんでしょうか? 正直ありません。 >.EQU   .BEQU アセンブラの種類により若干差異がありますが、 EQUはプログラム開始アドレスを示しているか、定数値の宣言、メモリアドレスへのラベル名定義となります。 BEQUはそのEQUのbit版となります。

関連するQ&A