ARM汇编程序实例(攻略)

上传人:飞*** 文档编号:30187003 上传时间:2018-01-27 格式:DOC 页数:4 大小:13.43KB
返回 下载 相关 举报
ARM汇编程序实例(攻略)_第1页
第1页 / 共4页
ARM汇编程序实例(攻略)_第2页
第2页 / 共4页
ARM汇编程序实例(攻略)_第3页
第3页 / 共4页
ARM汇编程序实例(攻略)_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《ARM汇编程序实例(攻略)》由会员分享,可在线阅读,更多相关《ARM汇编程序实例(攻略)(4页珍藏版)》请在金锄头文库上搜索。

1、18:47 河南理工大学通信工程 1ARM汇编程序实例例1.数据块复制例2.数据简单运算? (1)计算1+2+3+.+100 的结果。? 程序清单:? AREA sum,CODE,READONLY? MOV R0, #0 ;初始化R0=0? MOV R2, #1 ;设置R2=0;R2控制循环次数? FOR CMP R2, #100 ;判断R2汇编程序实例AREA B1ock,CODE,READONLY ;设置本段程序的名称及属性NUM EQU 20 ;设置将要复制的字数ENTRY ;标识程序人口点LDR R0,=src ;R0寄存器指向源数据区 srcLDR R1,=dst ;Rl寄存器指向目

2、 标数据区dstMOV R2,#NUM ;R2指定将要复制的宇数MOV SP,#设置数据栈指针,用于保存工作寄存器数值Bcopy MOVS R3,R2,LSR #3 ;需要进行的以8个字为单 位的复制次数BEQ Cword ;不足8个字的数据,跳转到Cword以字为单 位复制STMFD SP!,R4-R11 ;保存工作寄存器Ocopy LDMIA R0!,R4-R11 ;从源数据区读取8个字的数据,放到8个寄;存器中,并更新目标数据区指针R0STMIA R1!,R4-R11 ;将这8个字数据写入到目标数据区中并更新;目标数据区指针R1SUBS R3,R3,#1 ;将块复制次数减lBNE Oco

3、py ;循环,直到完成以 8个字为单位的块复制LDMFD SP!,R4-R11 ;恢复工作寄存器值18:47 河南理工大学通信工程 6数据块复制汇编程序实例Cword ANDS R2,R2,#7 ;剩下不足8个字的数据的字数BEQ Stop ;数据复制完成Wcopy LDR R3,R0,#4 ;读取剩下的数据放到R3 ,并更新目标数据区指针R0STR R3,R1,#4 ;将这R3中数据写入到目 标数据区中;并更新目标数据区指针R1SUBS R2,R2,#1 ;将字数减lBNE Wcopy ;循环,直到完成以字为单位的数据复制Stop ;程序结 束处理MOV R0,#0x18 ;本条与下条指令的

4、作用是参数传递LDR R1,=&20026SWI 0x123456 ;将CPU的控制 权交给调试器AREA Bdata,DATA,READWRITE ;定义数据区Bdatasrc DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;这里的DCD定义源数据区src及目标数据区dstEND ;结束汇编18:47 河南理工大学通信工程 7数据简单运算例2:编写程序循环对R4-R11进行累加8次起始值,R4-R11起始值分别为18,每次累加操作后把R4-R11的内容放入SP

5、堆栈中,SP初始设置为0x40000000。最后把 R4-R11用LDMFD指令清空赋值为0。18:47 河南理工大学通信工程 8数据简单运算汇编程序实例AREA B1ock,CODE,READONLY ;设置本段程序的名称及属性ENTRY ;标识程序人口点Start ldr r0,=srcldr r1,=resetmov sp,#0x40000000ldmia r0!,r4-r11mov r2,#7DoAdd add r4,r4,#1add r5,r5,#2add r6,r6,#3add r7,r7,#4add r8,r8,#5add r9,r9,#6add r10,r10,#7add r11,r11,#8stmia sp!,r4-r11sub r2,r2,#1cmp r2,#0bne DoAddldmfd r1!,r4-r11stop b stopAREA Bdata,DATA,READWRITE ;定义数据区Bdatasrc DCD 1,2,3,4,5,6,7,8reset DCD 0,0,0,0,0,0,0,0end

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号