- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 三章 ARM的指令系统
引导程序代码 ;Startup Code for S3C2410 : Startup.s ?;下面指令包含2410addr.s文件,该文件中定义了S3C2410内部寄存器地址对应的变量。 GET 2410addr.s ?; 某些ARM920T CPSR寄存器位的定义,定义了部分常量。 ? USERMODE EQU 0x10 FIQMODE EQU 0x11 IRQMODE EQU 0x12 SVCMODE EQU 0x13 ABORTMODE EQU 0x17 UNDEFMODE EQU 0x1b MODEMASK EQU 0x1f NOINT EQU 0xc0 AREA Init,CODE,READONLY ;IMPORT提供汇编器在当前汇编中未曾定义的符号名。 IMPORT __use_no_semihosting_swi IMPORT Enter_UNDEF IMPORT Enter_SWI IMPORT Enter_PABORT IMPORT Enter_DABORT IMPORT Enter_FIQ 引导程序代码 ENTRY b ColdReset ;复位 b Enter_UNDEF ;未定义指令 b Enter_SWI ;软件中断 b Enter_PABORT ;预取指令错误 b Enter_DABORT ;数据存取错误 b . ;保留的中断向量 b IRQ_Handler ;IRQHandler b Enter_FIQ ;FIQHandler … 引导程序代码 * 本章介绍了ARM处理器的寻址方式及ARM处理器的指令集。 3.3 小结 习 题 1、BIC指令的作用是什么? 2、执行SWI指令是会发生什么? 3、简述B、BL、BX的区别 4、ARM在哪些工作模式下可以修改CPSR寄存器? * Answer: 循环右移4*2 = 8次 常数应为0xff000000 下面列举了一些有效的立即数: 0xFF、0x104、0xFF0、0xFF00、0xFF000、0xFF000000、0xF000000F 下面是一些无效的立即数: 0x101、0x102、0xFF1、0xFF04、0xFF003、0xFFFFFFFF、0xF000001F ASR:符号位不动,右移后空位补0 * AND:可用于提取寄存器某些位的值 ORR:可用于将寄存器某些位置1 EOR:可用于将寄存器某些位的值取反(将某一位与0做EOR,该位值不变;与1做EOR,该位值取反) BIC:可用于将寄存器某些位的值清0(将某一位与0做EOR,该位值不变;与1做EOR,该位值清0) 逻辑与操作指令——AND指令将operand2的值与寄存器Rn的值按位作逻辑“与”操作,结果保存到Rd中。指令格式如下: AND{cond}{S} Rd,Rn,operand2 应用示例: ANDS R0,R0,#0x01 ;R0=R00x01,取出最低位数据 ANDEQ R2,R1,R3 ;R2=R1R3 逻辑或操作指令——ORR指令将operand2的值与寄存器Rn的值按位作逻辑“或”操作,结果保存到Rd中。指令格式如下: ORR{cond}{S} Rd,Rn, operand2 应用示例: ORR R0,R0,#0x0F ;将R0的低4位置1 MOV R1,R2,LSR #24 ;使用ORR指令将R2的高8位 ORR R3,R1,R3,LSL #8 ;数据移入到R3低8位中 逻辑异或操作指令——EOR指令将operand2的值与寄存器Rn的值按位作逻辑“异或”操作,结果保存到Rd中。指令格式如下: EOR{cond}{S} Rd,Rn, operand2 应用示例: EOR R1,R1,#0x0F ;将R1的低4位取反 EOR R2,R1,R0 ;R2=R1^R0 EORS R0,R5,#0x01 ; 将R5和0x01进行逻辑异或, ;结果保存到R0,并影响标志位 位清除指令——BIC指令将寄存器Rn的值与operand2的值的反码按位作逻辑“与”操作,结果保存到Rd中。指令格式如下: BIC{cond}{S} Rd,Rn, operand2 应用示例: BIC R1,R1,#0x0F ;将R1的低4位清零,其它位不变 BIC
您可能关注的文档
最近下载
- 空间设计基础(下篇,共上下2篇).pptx VIP
- 空间设计基础(上篇,共上下2篇).pptx VIP
- 养禽与禽病防治说课课件.pptx VIP
- 【基恩士】KV Nano系列PLC串行通信功能用户手册(KV-N10L KV-N11L KV-NC10L KV-NC20L).pdf VIP
- 《中药药理学》1教程.ppt VIP
- 数学建模,姜启源第十章_统计回归模型.ppt VIP
- 精【基恩士】LR——W500——C使用说明书——简体中文.pdf VIP
- 三菱通用变频器FR-E700使用手册(应用篇).pdf
- 【重点研报】中小企业特色产业集群发展情况(2024).pptx
- 附件:《福建省房建工程质量易发问题防治手册》(主体结构篇).pdf VIP
文档评论(0)