汇编语言错误

时间:2018-03-21 16:55:36

标签: assembly undefined

如果我能就如何做到这一点得到一些评论,我想我正走在正确的道路上,但我不确定它有多少是正确的。我希望我提供的所有代码都能提供帮助,这里还有关于程序需要做什么的说明。用汇编语言(在一个名为Lab 8.asm的单独文件中)写入函数Average。第一个参数是数组中元素的数量,第二个是数组的地址。函数将确定值的平均值。数组并将平均值舍入返回到最接近的整数(如果结果的小数部分等于或大于.5,则结果四舍五入到下一个更高的数字。

.cpp代码

#include<iostream>

using namespace std; 

extern "C" long Average(long, long[]);

int main()

{ 
long Array1[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 
long Array2[11] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; 
cout << "Average of Array1 is " << Average(10, Array1) << endl;
cout << "Average of Array2 is " << Average(11, Array2) << endl; 
}

long Average(long, long[])
{
    return 0;
}

.asm文件

.386
.model flat

.data

public _Average
Average dw  10

.code



_Average    proc
            mov     ebx, [esp+8];
            mov     eax, [esp+4];
            xor     ecx, ecx;
            Loop1:
            add     ecx, 4;
            dec     ecx;
            jnz     Loop1;
            Done1:
            add     eax, 0;
            ret
_Average    endp




            end

0 个答案:

没有答案