アセンブラとリンク – プログラミング – Home

通知
すべてクリア

アセンブラとリンク


ガラ
 ガラ
(@ガラ)
ゲスト
結合: 21年前
投稿: 201
Topic starter  

VC++6.0 Windows XP
アセンブラで書いたプログラムをコールするには、どうすればよろしいのでしょうか?
現在、アセンブラを勉強中でして、
アセンブラで書いたプログラムをVC++からよびたいのですが、
どのような方法があるのでしょうか?


引用解決済
トピックタグ
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
 

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

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


返信引用
メロン猫
 メロン猫
(@メロン猫)
ゲスト
結合: 20年前
投稿: 1
 

インラインアセンブラじゃ駄目なのですか?

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
}

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


返信引用
名無し
 名無し
(@名無し)
ゲスト
結合: 20年前
投稿: 15
 

アセンブリ側で呼び出し規約をVCに合わせる。


返信引用
とおり
 とおり
(@とおり)
ゲスト
結合: 21年前
投稿: 43
 

>アセンブリ側で呼び出し規約をVCに合わせる。

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました