-
1楼
inside
-
18335112010-11-27 23:56:00
说起杂交跟32下面没有什么大的区别
连个源文件说明问题:
c:
#include "stdio.h"
//申明函数
extern void asm_func(_int64 a,_int64 b)
//实现c的函数
void c_func()
{
printf("成功");
}
int _tmain(int argc, _TCHAR* argv[])
{
long long c1,c2;
printf("输入两个数字(空格隔开):");
scanf("%d %d",&c1,&c2);
asm_func(c1,c2);
return 0;
}
asm:
;;先定义一个宏
cm macro szText:req
local sText
.const
sText db szText,0
.code
exitm <offset sText>
endm
.data
strs db '您输入的数字是:%d\n',0
.code
;;申明函数
;c实现的函数
c_func proto
;c库函数
printf proto format:ptr BYTE ,va:VARARG
;asm实现的函数
asm_func proto va1:QWORD ,va2:QWORD
;;开始asm实现函数,注意要public申明
;;这里只是控制台输出一个字符串
asm_func proc v1:QWORD ,v2:QWORD
mov rax,v1
add rax,v2
mov rdx,rax
lea rcx,strs
call printf
call c_func
ret
asm_func endp
end
评分
-
+20
+20
水晶币 +20
+20
理由
-
+ 20
+ 20
+ 20
+ 20