用ARM汇编语言程序段实现下面的if语句.

if(a<b){x=5;y=c+d;}elsex=c-d;... if(a<b){
x=5;
y=c+d;
}else
x=c-d;
展开
 我来答
匿名用户
2013-04-02
展开全部
ADR r4,a; 读取变量a的地址
LDR r0,[r4]; 读变量a的内容到r0
ADR r4,b; 读取变量b的地址
LDR r1,[r4]; 读变量b的内容到r1
CMP r0,r1;
BGE fblock; 如果a>=b,跳转到fblock
ADR r4,x;
MOV r0,#5;
STR r0,[r4]; 令x=5
ADR r4,c; 读取变量c的地址
LDR r0,[r4]; 读变量c的内容到r0
ADR r4,d; 读取变量d的地址
LDR r1,[r4]; 读变量d的内容到r1
ADD r0,r0,r1;
ADR r4,y; 读取变量y的地址
STR r0,[r4];
B after;
fblock: ADR r4,c ;读取变量c的地址
LDR r0,[r4] ;读c的内容到r0
ADR r4,d ;读取变量d的地址到r4
LDR rl,[r4] ;读变量d的内容到r1
SUB r0,r0,rl ;计算a – b 结果保存在r0
ADR r4,x ;读取变量x的地址
STR r0,[r4]
after:...
匿名用户
2013-04-05
展开全部
mov eax,dword ptr a
cmp eax,dword ptr b
jc l1
mov ebx,dword ptr c
sub ebx,dword ptr d
mov dword ptr x,ebx
jmp l2
l1: mov dword ptr x,5
mov ebx,dword ptr c
add ebx,dword ptr d
mov dword ptr y,ebx
l2:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式