ARM编程实验的认识.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验-1 ARM汇编编程-寄存器访问实验目的: 实验要求: 2. 使用LDR/STR指令完成存储器的访问 实验代码与分析: COUNT EQU 0; 定义一个变量,地址为0 AREA Example2,CODE,READONLY ; 声明代码段Example2 ENTRY ; 标识程序入口 CODE32 ; 声明32位ARM指令 START LDR R1,=COUNT ; R1 = COUNT MOV R0,#0 ; R0 = 0 STR R0,[R1] ; [R1] = R0,即设置COUNT为0 LOOP LDR R1,=COUNT LDR R0,[R1] ; R0 = [R1] ADD R0,R0,#1 ; R0 = R0 + 1 STR R0,[R1] ; [R1] = R0,即保存COUNT B LOOP END 实验1-2ARM汇编编程-算术运算实验目的: 实验要求: 实验代码与分析: X EQU 11 ; 定义X的值为11 Y EQU 8 ; 定义Y的值为8 BIT23 EQU (123) ; 定义BIT23的值为0 AREA Example2,CODE,READONLY ; 声明代码段Example2 ENTRY ; 标识程序入口 CODE32 ; 声明32位ARM指令 START ; 使用MOV、ADD指令实现:R8 = R3 = X + Y MOV R0,#X ; R0 = X,X的值必须是8位图数据 MOV R1,#Y ; R1 = Y,Y的值必须是8位图数据 ADD R3,R0,R1 ; 即是R3 = X + Y MOV R8,R3 ; R8 = R3 ; 使用MVN、SUB指令实现:R5 = 0x5FFFFFF8 - R8 * 8 MVN R0,#0xA0000007 ; 0xA0000007的反码为0x5FFFFFF8 SUB R5,R0,R8,LSL #3 ; R8左移3位,结果即是 R8 * 8 ; 使用CMP指令判断(5*Y/2)(2*X)吗?若大于则R5 = R50xFFFF0000,否则R5 = R5|0x000000FF MOV R0,#Y ADD R0,R0,R0,LSL #2 ; 计算R0 = Y + 4*Y = 5*Y MOV R0,R0,LSR #1 ; 计算R0 = 5*Y/2 MOV R1,#X MOV R1,R1,LSL #1 ; 计算R1 = 2*X CMP R0,R1 ; 比较R0和R1,即(5*Y/2)和(2*X)进行比较 LDRHI R2,=0xFFFF0000 ; 若(5*Y/2)(2*X),则R2 = 0xFFFF0000 ANDHI R5,R5,R2 ; 若(5*Y/2)(2*X),则R5 = R5R2 ORRLS R5,R5,#0x000000FF ; 若(5*Y/2)≤(2*X),则R5 = R5|0x000000FF ; 使用TST指令测试R5的bit23是否为1,若是则将bit6位清零(使用BIC指令) TST R5,#BIT23 BICNE R5,R5,#0 B START END 实验1-3ARM汇编编程-寻址方式实验目的: 实验要求: 立即数寻址 寄存器寻址 寄存器间接寻址 基址变址寻址 多寄存器寻址 实验代码与分析: AREA TEST,CODE,READONLY ENTRY CODE32 ;立即数寻址 MOV R0,#0x1 ;立即数0x1存入寄存器R0 ADD R0,R0,#0x4 ;寄存器R0中的内容加上立即数0x4 然后存入寄存器R0 ;寄存器寻址 MOV R1,#0x2 ;立即数0x2存入寄存器R1 ADD R2,R1,R0 ;寄存器R0中的内容和寄存器R1的内容相加存入寄存器R2 ADD R2,R2,R0,LSL #1 ;寄存器R0中的内容逻辑左移1位加上寄存器R2的内容在存入寄存器R2 ;寄存器间接寻址 MOV R1,#0x10 ;将立即数0x

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档