MASMとTurboC 2.0のハイブリッドプログラミング
1123 ワード
ソフトウェア:masm 5/turboc 2.0/Windows 7 ultimate SP 1 32 bitハードウェア:Intel Core T 450
cプログラムはmasmアセンブリの関数int sum(int,int)を呼び出し、コードは以下の通りである.
cプログラムはmasmアセンブリの関数int sum(int,int)を呼び出し、コードは以下の通りである.
/* test.c */
#include <stdio.h>
extern int sum(int a,int b);
int main()
{
int a = 1,b = 15; printf("a + b = %d
",sum(a,b));
return 0;}
;the function prototype in c language is : int sum(int a,int b);
.model small
_TEXT segment word public 'CODE'
assume cs:_TEXT
public _sum
_sum proc far
push bp
mov bp,sp
push bx
mov ax,[bp+6] ;int a
mov bx,[bp+8] ;int b;
add ax,bx
pop bx
pop bp
ret
_sum endp
_TEXT ends
end
_sum には を ける があります.segmentは_でなければなりませんTEXT、これで しく できます.
test.cとsum.asmをtestにコンパイルする.objとsum.obj
の で >TLINK lib/C0S.obj test.obj sum.obj,out , ,lib/CS
はoutをコンパイルする.Exce、 で する>out.exe
ポップアップダイアログボックスillegal instruction