arm实验汇编语言编程技巧实验

arm实验汇编语言编程技巧实验

ID:5556051

大小:292.00 KB

页数:6页

时间:2017-12-18

arm实验汇编语言编程技巧实验_第1页
arm实验汇编语言编程技巧实验_第2页
arm实验汇编语言编程技巧实验_第3页
arm实验汇编语言编程技巧实验_第4页
arm实验汇编语言编程技巧实验_第5页
资源描述:

《arm实验汇编语言编程技巧实验》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、大连理工大学软件学院《嵌入式系统结构》实验报告组号:552实验箱编号:21008552实验时间:12年10月11日实验室:嵌入式实验室实验台:EmbestEdukit-III平台指导教师:邱铁成绩:实验2:汇编语言编程技巧实验一、实验目的和要求通过本次实验对ARM汇编语言编程的技巧进行训练,提高编写代码的速度与效率。二、实验原理和内容1.编写程序实现20!,将得到的64位结果送入[R9:R8]中。原理:由1开始64位累乘(UMULL),高位存于R9中,低位存于R8中,每次用乘数对R8内数进行64位乘法,对R9进行普通乘法

2、将R9乘后的值与原值相加继续存于R9,累乘20次。2.判断下列情况是否能够实现:如果能实现请写出程序代码1)N=1,C=1,V=12)N=0,C=1,V=13)N=1,C=0,V=14)Z=1,C=1,V=1原理:算数,逻辑等运算出的结果对标志位的影响3.实现寄存器的高位和低位的互换,例如第0位和第31位互换……。原理:R1内存有原值,每次让其与上#1得到最后一位的值,若为1则在原为空的R4的相应位上赋值1,之后R1右移一位,重复操作。三、主要仪器设备及软件编程环境主要仪器设备:PC机软件编程环境:EmbestIDE20

3、04集成开发环境,Windows98/2000/NT/XP四、实验步骤与编程第一题:.global_start.text_start:MOVR9,#0MOVR8,#1MOVR0,#2MOVR1,#0movr2,#0LOOP:UMULLR2,R1,R8,R0MOVR8,R2MLAR9,R0,R9,R1ADDR0,R0,#1CMPR0,#21BNELOOPEND:BEND.END第二题:.global_start.text_start:MOVR9,#0MOVR8,#0MOVR7,#1MOVR0,#2MOVR1,#0MOVR2

4、,#0MOVR3,#0LOOP:UMULLR2,R1,R7,R0MOVR7,R2UMULLR3,R2,R8,R0ADDSR8,R3,R1MULR9,R0,R9ADCR9,R9,R2ADDR0,R0,#1CMPR0,#24BNELOOPEND:BEND.END第三题:(1).global_start.text_start:MOVR0,#0X80000000ADDSR1,R0,#0X80000000TEQR0,#0X12END:BEND.END(3).global_start.text_start:MOVR0,#-0XBFF

5、FFFFFMOVR1,#-0XBFFFFFFFADDSR2,R1,R0END:BEND.END(2)(4).global_start.text_start:MOVR0,#1MOVR1,#1MOVR0,R0,ROR#1MOVR1,R1,ROR#1ADDSR2,R1,R0END:BEND第四题:.global_start.text_start:LDRR0,=0x55555555MOVR2,#1MOVR3,#32MOVR8,#1MOVR9,#0MOVR10,#2MOVR5,#1LOOP1:MOVR1,R0ANDR1,R1,R8

6、MOVR6,R5LOOP2:MOVR1,R1,ROR#1SUBSR6,R6,R2BNELOOP2ADDR5,R5,R10ORRR4,R4,R1MOVR8,R8,LSL#1SUBSR3,R3,R2BNELOOP1END:BEND.END

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。