在ARM汇编指令中实现下面条件转移语句: if(a<b){ x=5; y=c+d; } else x=c-d;

 我来答
t3rdeye
2012-01-09 · TA获得超过320个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:66.9万
展开全部
设a,b,x,y,c,d的地址分别为add_a……add_c
PRONAME ;设置个标号
ldr r0,=add_a ;将a地址给r0
ldr r0,[r0] ;将r0里地址的数据赋给r0
ldr r1,=add_b ;将变量b的地址给r1
ldr r1,[r1] ;将变量b的值赋给r1
CMP r0,r1 ;比较a与b
bcc %f1 ;bcc 无符号小于,如带符号可用blt,成立向前跳到标号1处
ldr r0,=add_c ;不成立,向下执行,先将c变量地址给r0
ldr r0,[ro] ;将c变量值给r0
ldr r1,=add_d
ldr r1,[r1] ;将d变量值给r1
sub r0,r0,r1 ;将c-d的值存入r0中,r0=r0-r1
ldr r1,=add_x ;将x变量地址给r1
str r0,[r1] ;将r0中的值,即c-d,存入r1地址中,即x=c-d
bx lr ;执行完后,程序返回
1
ldr r0,=add_x ;参考上面,自己理解
ldr r1,=5
srt r1,[r0]
ldr r0,=add_c
ldr r0,[ro]
ldr r1,=add_d
ldr r1,[r1]
and r0,r0,r1
ldr r1,=add_y
str r0,[r1]
bx lr
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式