如果我能就如何做到这一点得到一些评论,我想我正走在正确的道路上,但我不确定它有多少是正确的。我希望我提供的所有代码都能提供帮助,这里还有关于程序需要做什么的说明。用汇编语言(在一个名为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