ARM 体系结构与编程 笔记1

本文介绍如何使用ARM汇编语言实现两个整数的最大公约数计算及条件判断逻辑。通过具体的ARM指令示例,展示了条件执行(如while循环)和条件判断(如if语句)的具体实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

条件执行

   int  gcd(int a,int b)

   {

      while(a!=b)

       {

          if(a > b)

          a = a-b;

           else

           b = b-a;

       }

          return a;


   }

  对应到ARM代码段。代码执行前 R0中存放a,R1中存放b;代码执行后R0中存放a和b的最大公约数。
  gcd
   CMP R0,R1
   SUBGT R0,R0,R1
   SUBLT R1,R1,R0
   BNE gcd
    MOV PC,LR

条件判断语句

1 if(a == 0 || b==1)
  2     c = d+e;
  3     
  4     对应的ARM代码段。代码执行前R0中存放a,R1中存放b。代码执行后R2中存放d和e>    的总和。
  5     CMP R0,#0   ; 判断R0是否等于0
  6     CMPNE R1,#1 ;   如果R0不等于0,判断R1是否等于1
  7     ADDEQ R2,R3,R4  ; R0 = 0货R1=1时,R2=R3+R4
~                                                    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值