![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
arm题:使用汇编完成下列C的数组赋值
For(i=0;i<=10;i++){a[i]=b[i]+c;}假设R0,R1分别存放了a[i],b[i]的基地址,c的值在R2中,R3中存着0x0a...
For(i=0;i<=10;i++){a[i]=b[i]+c;}
假设R0,R1分别存放了a[i],b[i]的基地址,c的值在R2中,R3中存着0x0a 展开
假设R0,R1分别存放了a[i],b[i]的基地址,c的值在R2中,R3中存着0x0a 展开
4个回答
展开全部
注:上面那个是我作的回答,但有个 R3 错打成 R4, 更正如下:
MOV R3, #0xA ; i^
Next
RSB R5, R3, #0xA ; i = 0,1,2...0xA
LDR R6, [R1, R5] ;b[i]
ADD R6, R6, R2 ;b[i]+c
STR R6, [R0, R5] ;a[i]=b[i]+c
SUB R3, R3, #0x1
CMP R3, #0x0
BNE Next
============================================
如果你不强调 "R3中存着0x0a", 也可以是这样的:
MOV R3, #0x0 ;i = 0,1,2,3...
Next
LDR R6, [R1, R3] ;b[i]
ADD R6, R6, R2 ;b[i]+c
STR R6, [R0, R3] ;a[i]=b[i]+c
ADD R3, R3, #0x1
CMP R3, #0x0A
BLS Next ;无符号数小于或等于
============================================
如果你一定强调 "R3中存着0x0a", 也可以是这样的:
MOV R4, #0x0 ;i = 0,1,2,3...
Next
LDR R6, [R1, R4] ;b[i]
ADD R6, R6, R2 ;b[i]+c
STR R6, [R0, R4] ;a[i]=b[i]+c
ADD R4, R4, #0x1
CMP R4, R3
BLS Next ;无符号数小于或等于
上面几种方法供参考
MOV R3, #0xA ; i^
Next
RSB R5, R3, #0xA ; i = 0,1,2...0xA
LDR R6, [R1, R5] ;b[i]
ADD R6, R6, R2 ;b[i]+c
STR R6, [R0, R5] ;a[i]=b[i]+c
SUB R3, R3, #0x1
CMP R3, #0x0
BNE Next
============================================
如果你不强调 "R3中存着0x0a", 也可以是这样的:
MOV R3, #0x0 ;i = 0,1,2,3...
Next
LDR R6, [R1, R3] ;b[i]
ADD R6, R6, R2 ;b[i]+c
STR R6, [R0, R3] ;a[i]=b[i]+c
ADD R3, R3, #0x1
CMP R3, #0x0A
BLS Next ;无符号数小于或等于
============================================
如果你一定强调 "R3中存着0x0a", 也可以是这样的:
MOV R4, #0x0 ;i = 0,1,2,3...
Next
LDR R6, [R1, R4] ;b[i]
ADD R6, R6, R2 ;b[i]+c
STR R6, [R0, R4] ;a[i]=b[i]+c
ADD R4, R4, #0x1
CMP R4, R3
BLS Next ;无符号数小于或等于
上面几种方法供参考
展开全部
储到0x4000的指令存到存储器中。若存储器为大端组织,写出从存储器0x4000处加载一个字节到R2的指令执行后R2的值。
2、使用汇编完成下列C的数组赋值:
for(i=0;i<=10;i++)
2、使用汇编完成下列C的数组赋值:
for(i=0;i<=10;i++)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
For(i=0;i<=R3;i++)
{
R0=R1+R2;
R0++;
R1++;
}
大概的意思就是上面的,R3里面存放的OX0a表示二进制的10。我写的语法应该不对你在看看怎么写成汇编的形式。再说了汇编分为DOS汇编和WIN32汇编的。你的看你要写成哪样的汇编了?
{
R0=R1+R2;
R0++;
R1++;
}
大概的意思就是上面的,R3里面存放的OX0a表示二进制的10。我写的语法应该不对你在看看怎么写成汇编的形式。再说了汇编分为DOS汇编和WIN32汇编的。你的看你要写成哪样的汇编了?
追问
谢谢,需要用ARM指令集的汇编语言编写程序,不是伪代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-03
展开全部
MOV R3, #0xA ; i^
Next
RSB R5, R4, #0x10 ; i = 0,1,2...0xA
LDR R6, [R1, R5] ;b[i]
ADD R6, R6, R2 ;b[i]+c
STR R6, [R0, R5] ;a[i]=b[i]+c
SUB R3, R3, #0x1
CMP R3, #0x0
BNE Next
Next
RSB R5, R4, #0x10 ; i = 0,1,2...0xA
LDR R6, [R1, R5] ;b[i]
ADD R6, R6, R2 ;b[i]+c
STR R6, [R0, R5] ;a[i]=b[i]+c
SUB R3, R3, #0x1
CMP R3, #0x0
BNE Next
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询