C和Masm程序

时间:2018-12-05 20:33:51

标签: c masm

我需要在C上编写一个函数funcName (int a, int b, int c),该函数使用公式a * b-c计算值并将其返回。然后,我需要在masm上编写一个函数,该函数使用在数据段中指定的参数调用此函数,并返回第一个函数在其调用后返回的值。必须在main中调用以masm编写的函数并输出结果值。我编写了一个程序,但是运行该程序时,会弹出一个窗口,其中写有该程序Unhandled exception at 0x0014000a in labvpd.exe: 0xC0000005: Access violation writing location 0x8d4e00eb.我在做什么错了?

C代码:

#include <stdio.h> 
#include <stdlib.h> 


extern "C" 
int __cdecl funcName(int a, int b, int c);

extern "C"
int FUN();


int main()
{ 
    printf("%s", "Result: ");
    printf("%d", FUN());
    scanf("%d"); 
    return 0; 


} 
extern "C" 
int __cdecl funcName(int a, int b, int c){ 
    int result = a*b-c;
    return result;
}

MASM代码:

.686 
.MODEL C, FLAT
.STACK 
.DATA
a dw 10
b dw 20
d dw 30
.CODE 

EXTRN funcName : proc

FUN PROC
push d
push b
push a
call funcName
ret
FUN ENDP
END

0 个答案:

没有答案
相关问题