【发布时间】:2012-02-23 01:37:18
【问题描述】:
我试图简单地总结汇编中的一个数组。
int main(){
int a[5] = {1, 2, 3, 4, 5};
int result;
_asm{
mov ecx, 5 ;set the counter for 5
mov eax, 0 ;zero eax
NXT: add eax, [esi*4+a] ;add array value
inc esi ;increase esi to read next value
LOOP NXT ;loop back to next
mov [result], eax ;mov eax into result
}
printf("result: %u",result);
无论数组的值是多少,总和为 2。
我正在尝试在 Mac 上运行。
我正在编译使用:
gcc -fasm-blocks -m32 -c sum.cpp
和链接
gcc -arch i386 -g -o sum sum.o
我尝试了各种方法,但似乎无法对数组求和。
【问题讨论】:
标签: macos gcc assembly inline-assembly