从键盘输入某个大于50,小于10000的数,要求求出0到该数之间的所有奇数的和?
ja jna jb jnb指令
我没有汇编,拿嵌入汇编写一个
#include "stdio.h"
int __stdcall foo(int x)
{
int sum;
int acc;
__asm
{
inc x //如果边界条件不算,去掉这一行
mov sum, 0;
mov acc, 1;
start:
mov ecx, x;
mov edx, acc;
cmp ecx, edx;
jna endloop;
mov eax, sum;
add eax, acc;
mov sum, eax;
add acc, 2;
jmp start;
endloop:
mov eax, sum;
}
}
int main()
{
int x;
scanf("%d", &x);
int r = foo(x);
printf("%d\n", r);