我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

asm第一次不能跳出循环

请问一下为什么第一次不会直接跳出循环,输出结果还是一啊
Assertion failed c[73]: actual=1 expected=0 bitset(0000000000000001)

.global bit_set

bit_set:
    mov x1,#0 
    mov x2,#0

forloop:
    subs x3,x2,#64
    beq loopend
    

    ands x3,x0,#1
    beq loopend

    add x1,x1,#1
    lsr x0,x0,#1
    
    add x2,x2,#1

    b forloop







loopend:
    mov x0,x1
    ret

这是c的代码


long _bit_set(long x)
{
    long bit;
    
    for(bit = 0; bit < 64; bit++)
    {
        if(x & 1)
        {
            break;
        }
        
        x >>= 1;
    }
    
    return bit;
}

if(x & 1)是想干啥?

近期文章

  • 如何学习Java,从入门开始
  • vs如何用c语言pow函数计算立方根
  • VS2022安装问题
  • 微信小程序开发软件问题
  • ARM的C语音编程环境和仿真软件
  • Codeblocks出现这个情况为什么
  • stata面板数据如何进行不同组别的比较
  • 使用PHP从日志文件中提取数据
  • 如何在视频流中判断指定的某个区域出现了物品?
  • 如何在视频流中判断指定的某个区域出现了物品?
  • 国产CAD能替代AutoCAD了吗?
  • 自动生成老用户文件夹是怎么回事?
  • 电路仿真用什么软件靠谱?
  • 数据结构(c语言)关于链表的运用
  • 预算6000到7000有没有什么推荐的本
  • c++程序编辑错误,上图求解如何破解这个错误
  • Word文档在电脑中打开会出现很多回车键怎么删除
  • IIS内网访问正常,外网访问慢
  • wordpress if(have_posts()),循环不起作用
  • 有没有除了贝叶斯公式以外可以求某事发生的概率的公式呢

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华