アセンブラとリンク

[戻る]
ガラ 2005/09/03(土) 10:35:01
VC++6.0 Windows XP
アセンブラで書いたプログラムをコールするには、どうすればよろしいのでしょうか?
現在、アセンブラを勉強中でして、
アセンブラで書いたプログラムをVC++からよびたいのですが、
どのような方法があるのでしょうか?

とおりすがり 2005/09/03(土) 15:28:01
assemblyコードをassembleして、objectファイルはできているのでしょうか?
だったら、用意した関数用のheaderファイルでも用意して、呼び出しを書いて、
一緒にlinkするだけ。
assebleしていないなら、まずはそこからだが、VCってassemblerも別に
入ってるのかは知らない。
cl(=compiler)のオプションで、assembleできるのかも知らない。

# inline assemblerじゃ駄目なのか??

メロン猫 2005/09/04(日) 15:40:55
インラインアセンブラじゃ駄目なのですか?

void test_asm( int a, int b )
  _asm {
    アセンリブリ言語
    .....
    .....
  }
}

インラインアセンブラ上で
上記の関数を呼び出すとき、
b,aの順で、引数を入れて
call test_asm

例:
_asm{
  mov eax, a
  mov ebx, b
  mov [esp+4],eax
  mov [esp+0],ebx
  call test_asm
}



・・・・・・・・・
こんな感じだった記憶が・・・・
うる覚えですが・・・・
間違っているかも
駄目かな?

名無し 2005/09/04(日) 18:11:29
アセンブリ側で呼び出し規約をVCに合わせる。

とおり 2005/09/04(日) 21:32:57
>アセンブリ側で呼び出し規約をVCに合わせる。

アセンブリ側というか、両者の規約を合わせる必要がある。
VC側も複数の呼び出し規約を選択できるので、その範囲でアセンブリを組む。

古いスレッドには追加発言できません。