- 締切済み
C言語とアセンブラ言語による計算プログラミング
"AB間の距離を求めなさい。" 下の画像において、AC=r1、BC=r2、∠ACB=α°とするとき、AB間の距離dを求めなさい。 上記の問題について困っております。 この問題の解答については、C言語とアセンブラ言語によるプログラミングで考えるようになっており、FPU(MATH COPROCESSOR)を使用し、C言語側で変数や関数宣言、printfなどでの計算結果出力を記述し、アセンブラ言語側で計算するプログラム問題です。 原則として、C言語側で計算してはいけない仕様になっています。 そして、2つのオブジェクトファイルをリンクさせ、実行可能ファイル(.exe)を作成し、コマンドプロンプト に計算結果を表示する。とういう問題です。 ・アセンブラ言語側での使用する命令のプロセッサアーキテクチャのタイプは「.386」 ・作成するオブジェクトのメモリモデルは、Windowsなので「FLAT」 図の画像は添付してあるので、どうかご回答のほどよろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- saijyo_739
- ベストアンサー率53% (119/222)
画像見れません。 計算部分を別ファイルとしてC言語で作ります。 C言語のコンパイラには大抵アセンブリ言語のソースへ翻訳する機能がありますので、計算部分のソースをアセンブリ言語化して見てみましょう。 まぁ、全体を一つのファイルにしても一旦アセンブリ言語のソースを出力し計算部分がどんなアセンブリ言語のコードになっているか確認しても良いでしょうが。 それを参考にして、作り直しても良いしそのまま使っても良いかも。
- salsberry
- ベストアンサー率69% (495/711)
まずは、距離を計算する部分も含めてプログラムを全部Cで書いて見せてください。もちろん計算部分は独立した関数にしてください。それを元にその関数部分をどのようにアセンブラ化するかを考えるという手順で進むのがいいでしょう。 プログラミング以前に数学の問題として計算方法が分からない場合は高校の数学を復習してください。
- black2005
- ベストアンサー率32% (1968/6046)
>上記の問題について困っております。 困っている部分を具体的に挙げてください。
- Tacosan
- ベストアンサー率23% (3656/15482)
で, あなたはどこがわからないんですか?