



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二 基于ARM的汇编语言程序设计一、实验目的了解ARM汇编语言的基本框架,学会使用ARM的汇编语言编程。二、实验设备标准硬件。三、实验内容用汇编语言编写“连续发送128个ASCII字符”的应用程序。四、实验原理ARM汇编语言程序中,是以程序段为单位来组织代码。段是相对独立的指令或数据序列,具有特定的名称。段可以分为代码段和数据段,代码段的内容为执行代码,数据段存放代码运行时所需的数据。一个汇编程序至少应该有一个代码段,当程序较长时,可以分割为多个代码段和数据段,多个段在程序编译链接时最终形成一个可执行文件。因此在进行汇编时除了要了解其书写规范外,还要能理解段的应用。下面是一个代码段的小例子,实现数据的装载AREA Init,CODE,READONLYENTRYLDR R0, =0x3FF5000LDR R1, 0x0fSTR R1, R0LDR R0, =0x3F50008LDR R1, 0x1STR R1, R0END上述程序,在汇编程序中,用AREA指令定义一个段,并说明定义段的相关属性,其格式为AREA段名,属性1,属性2,属性n。本例中定义了段名为Init的属性为代码段,只读。ENTRY伪指令标识程序的入口,即代码从此处开始执行,程序的末尾为END指令,该伪指令告诉编译器源文件的结束,每一个汇编文件都要以END结束。AREA DataArea, DATA, NOINIT, ALIGN=2DISPBUFSPACE200RCVBUFSPACE200DATA为数据段的标识。本程序段名为DataArea,属性数据段,不含初始化,采用align表达式对其方式2表达式次方。五、实验步骤1.打开ADS1.2开发环境,打开基础实验实验五asm.mcp项目文件,然后进行compile和make生成*.axf文件。2.编译通过后,进入ADS1.2调试界面,加载基础实验实验五 asm_DataDebug中的映象文件asm.axf。3.在ADS调试环境下全速运行映象文件,应出现界面:本程序连续发送了128个ASCII字符。下面分析程序的源码。在UART前的部分为系统的初始化,这在后边BOOTLOADER的章节里要详细介绍。UART后的程序为主程序,在程序中找到下面这部分的代码,;/呼叫主应用程序b UARTUART ldr r0, =GPHCON ;设置GPIO(RxD0,TxD0引脚) ldr r1, =0x2afaaa str r1, r0 ldr r0, =GPHUP;GPH10:0禁止上拉 ldr r1, =0x7ff str r1, r0 ; ldr r0, =UFCON0 ;禁用FIFO ldr r1, =0x0 str r1, r0 ldr r0, =UMCON0 ;禁用AFC ldr r1, =0x0 str r1, r0 ldr r0, =ULCON0 ;设置线寄存器 ldr r1, =0x3 ; 正常模式,无奇偶校验,一个停止位,8个数据位 str r1, r0 ldr r0, =UCON0 ;设置Uart0控制器 ldr r1, =0x245;RX边沿触发,TX电平触发,禁用延时中断,使用RX 错误中断,正常操作模式,中断请求或表决模式 str r1, r0 ldr r0, =UBRDIV0 ;设置波特率为115200 ldr r1, =0x1a ;int(50700000 / 16 / 115200) - 1 = 26 str r1, r0 mov r1, #100;延时初值Delay;延时 sub r1, r1, #0x1 bne Delay ;/开中断 ldr r0, =INTMSK;/中断屏蔽寄存器 ldr r1, r0 and r1, r1, #0xefffffff str r1, r0;/打开中断uart0 MOV R5 , #127 ; /设置要打印的字符的个数 MOV R1 , #0x0 ; /设置要打印的字符LOOP LDR R3 , =UTRSTAT0;/通道0状态寄存器 LDR R2 , R3 TST R2 ,#0x04 ; /判断发送缓冲区是否为空 BEQ LOOP ; /为空则执行下边的语句,不为空则跳转到LOOP LDR R0 , =UTXH0;/通道0 发送缓存寄存器 STR R1 ,R0 ;/向数据缓冲区放置要发送的数据 ADD R1, R1, #1 ;/R1加1,准备打下一个字符 SUB R5 ,R5, #0x01 ;/计数器减一 CMP R5 ,#0x0;打印剩余个数和0比较,即R5-0 BNE LOOP;打印剩余个数,R5不为0则跳转 LOOP2 B LOOP2 ;死循环,相当C里的while(1)分析清楚之后,我们改变R1的数据,换成其他的数据,然后保存、编译、调试。观察结果。六、心得、体会本次试验通过对汇编语言的学,基本掌握了ARM中汇编语言的使用。虽然还是有点模糊,但可以仿照书上内容编写出来。之前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省阜阳市颍州区2022-2023学年高三下学期高考第三次模拟考试思想政治试题及答案
- 2025 年小升初上海市初一新生分班考试语文试卷(带答案解析)-(部编版)
- 2025聘用合同简易样本
- 湖南省长沙市雅礼雨花中学2024-2025学年八年级下学期期末考试数学试题(含部分答案)
- 2025年吉林省吉林市中考物理一模试卷-自定义类型(含答案)
- 维修汽车服务合同范本
- 瑞士租车服务合同范本
- 铺面租房合同范本
- 特许代理销售合同范本
- 购买金戒指合同范本
- 某中央空调机房拆除施工方案
- 《儿童孟氏骨折》课件
- 电力系统绝缘保护 过电压防护 电力系统内部过电压及防护
- 《保障农民工工资支付条例》宣传册
- 《用户体验的要素》课件
- 基于现代文献探讨经方治疗冠心病(胸痹心痛)的处方用药规律研究演示稿件
- 2023年贵州六盘水市盘州市考调事业单位人员60人笔试参考题库(共500题)答案详解版
- 一元二次不等式及解法
- 桩基工程验收监理质量评估报告
- 钢管中频感应加热过程的有限元分析
- 2022年脓毒血症指南解读(更新)
评论
0/150
提交评论