qq_37654500
2018-11-16 07:51
采纳率: 50%
浏览 1.0k
已采纳

汇编中如何判断某个数的范围?

从键盘输入某个大于50,小于10000的数,要求求出0到该数之间的所有奇数的和?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2018-11-16 12:24
    已采纳

    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);
    
    

    图片说明

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题