EQU
5
定义N
代表5
AREA
Adding,
CODE,
READONLY
定义段名Adding
读代码段
ENTRY
;指定程序雀闹入口
MOV
R0,#0
;
立即数0加载
R0
MOV指令
能加载8位立即数
MOV
R1,#1
;
立即数1加载
R1
#代表
立即数
REPEAT
;
设置标号
ADD
R0,R0,R1
;
R0
R1项加并存储
R0
ADD
R1,R1,#1
;;
R1
立即数1项加并存储
R1
CMP
R1,#N
;比较R1
立即数N
N前面定义代表5;
BLE
REPEAT
;
相等跳转
标号REPEAT
相等继续往
执行
LDR
R2,=RESULT
;加载表RESULT
址
R2
STR
R0,[R2]
;
R0存储
R2指向
表
HERE
B
HERE
;
B
条件跳转
标号告岁键HERE
AREA
DataSpace,
DATA,
READWRITE
定义段名DataSpace
读写数据段
RESULT
DCD
0;定义表
END
;程袜巧序结束
我来回答你吧,研究ARM汇编也有段时间了,在查相关资料,这个应该可以解决的,要是考试,我的答案100分至少85分吧。26. MOV R0,#X
MOV R1,#64
CMP R0,R1
MOVHI RO,#0
MOVLS R2,#0
27. 字符串拷贝程序设计(用LDR和STR实现)
AREA StrCopy, CODE, READONLY
ENTRY 程序入口
start
LDR r1, =srcstr 初始串的指针
LDR r0, =dststr 结果串的指针
BL strcopy 调用子程序执行复制
stop
MOV r0, #0x18 执行中止
LDR r1, =0x20026
SWI 0x123456
strcopy
LDRB r2, [r1],#1 加载并且更新源串指针
STRB r2, [r0],#1 存储且更新目的串指针
CMP r2, #0 是否为0
BNE strcopy
MOV pc,lr
AREA Strings, DATA, READWRITE
srcstr DCB "First string - source",0
dststr DCB "Second string - destination",0
END
29. 和26题差不多啊。
MOV R0,#X
MOV R1,#100
CMP R0,R1
MOVLS RO,#1
MOVHI R2,#1
25. 这题两个函数功能一样,处理器特性我就不说了,任何一本介绍ARM的书都有讲解。在效率方面第一个好些,因为i=1和i=limit中
i=1中,只要读i的地址,然后把2传递即可
i=limit中,既要读i的地址,也要读limit的地址,然后再传值
很明显第山辩信一个效率高。
我的这个回答是看过灶罩一本程序员面试宝典中的程序效率问题启发的,应该不会错的。呵呵…逗轮…
希望我的回答对你有所收获。祝你进步!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)