- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]ARM汇编语言程序设计
第4章 汇编语言程序设计 本章主要内容: 1、ARM和Thumb汇编语言程序 2、汇编语言与C语言 3、混合编程技术 4、汇编语言程序的汇编、运行、调试。 汇编语言程序的语句4个组成部分 注意:p96 局部标号: 使用局部标号的例子: 2 、指令/伪操作/伪指令p96 3、操作数 p97 汇编程序的变量代换 p97 综合 实例p98 4.1.3 伪操作 符号定义伪操作 LCLA、LCLL、LCLS定义局部变量 GBLA、GBLL、GBLS 定义全局变量 SETA、SETL、SETS 变量赋值 RLIST 数据定义伪操作 数据定义伪操作用于存储区定义、赋值,共计9条。 DCB DCW/DCWU DCD/DCDU DCQ/DCQU DCFS/DCFSU DCFD/DCFDU SPACE FIELD MAP DCB定义字节 Define continue bytes定义字节 格式:标号 DCB 表达式 说明:DCB分配连续的字节单元并用伪操作中指定的表达式对其初始化。 其中,表达式可以为使用双引号的字符串或0—255的数字,DCB可用“=”代替。 DCW/DCWU定义半字 DCD/DCDU定义字 DCQ/DCQU定义8字节 DCFD/DCFDU定义浮点数 DCFS/DCFSU 定义单精度的浮点数(4个字节) SPACE 定义存储区域 MAP定义内存表首地址 FILED 汇编控制伪操作 MACRO、MEND 定义宏的开始和结束 IF、ELSE、ENDIF 条件编译 WHILE、WEND 循环汇编 MEXIT 从宏中退出 其他伪指令 ASSERT AREA 定义一个段 ALIGN对齐 CODE16、CODE32 ENTRY 指定程序入口 END 结束汇编 EQU 补充习题 例如: Pblock RLIST {R0-R3,R7,R5,R9} ;将寄存器列表名称定义为pblock,可在ARM指令 LDM/STM中通过该名称访问寄存器列表。 STMFD SP!,pblock;由高到低访问, R9先入栈 STMFA SP!,pblock;由低到高访问,, R0先入栈 STM SP!,pblock ;出错 例如: Array1 DCB 1,2,3,4,5;数组 str1 DCB “Your are welcome!” ;构造字符串并分配空间。 或 str1 = “Your are welcome! LDR R0,= Array1 ;(大范围地址读取,4G) 取Array1地址至R0 格式: 标号 DCW / DCWU 表达式 说明:DCW分配连续半字存储单元并用表达式值初始化,它定义的存储空间是半字对齐的。 DCWU 功能跟DCW类似,只是分配的存储单元不严格半字对齐。 例如: Arrayw1 DCW 0xa,-0xb,0xc,-0xd ;构造固定数组并分配半字存储单元。 格式: 标号 DCD/DCDU 表达式 说明:DCD伪操作分配连续的字存储单元并用伪指令中指定的表达式初始化,它定义的存储空间是字对齐的。 DCD也可用“”代替。 DCDU功能跟DCD类似,只是分配的存储单元不严格字对齐。 例如: str1 DCB “Your are welcome!” Arrayd1 DCD 1334,234,345435 ;构造固定数组并分配字存储单元。 Label DCD str1;该字单元存放str1的地址 DCQ/DCQU 格式: 标号 DCQ/DCQU 表达式 说明:DCQ用于分配一块以8个字节为单位的存储区域并用指定的表达式初始化,它定义的存储空间是字对齐的。 DCQU功能跟DCQ类似,只是分配的存储单元不严格字对齐。 例如: Arrayd1 DCQ 234234 ;构造固定数组并分配字为单元的存储空间注意DCQ不能给字符串分配空间。 DCFD/DCFDU 双精度的浮点数(8个字节) 格式: 标号 DCFD/DCFDU 表达式 说明:DCFD用于为双精度的浮点数(8个字节)分配一片连续的字存储单元并用伪指令中指定的表达式初始化,它定义的存储空间是字对齐的,每个双精度的浮点数占据两个字单元。 DCFDU功能跟DCFD类似,只是分配的存储单元不严格字对齐。 例如: Arrayf1 DCFD 6E2 Arrayf2 DCFD 1.23,1.45 格式: 标号 DCFS/DCFSU 表达
您可能关注的文档
- [交通运输]公路货物运输-中外运-华北分公司.ppt
- [交通运输]冬季爱车保养知识讲堂.ppt
- [交通运输]可靠性研究.ppt
- [交通运输]各大航运公司.doc
- [交通运输]土石方工程安全管理.ppt
- [交通运输]城市矿山法隧道施工安全与风险控制.ppt
- [交通运输]复习指导书隧道.doc
- [交通运输]城市轨道交通概论 单元7.ppt
- [交通运输]字帖.doc
- [交通运输]客专线路交流武广.ppt
- [桂林]2025年广西桂林医学院附属医院护理人员招聘50人笔试历年典型考点(频考版试卷)附带答案详解.docx
- [河北]2024年河北体育学院招聘人事代理工作人员7人笔试历年典型考点(频考版试卷)附带答案详解.docx
- [毕节]2023年浙江省人民医院毕节医院剩余岗位人才引进笔试历年典型考点(频考版试卷)附带答案详解.docx
- [榆林]2023年陕西榆林市定边县自主临聘医学卫生类专业技术人员50人笔试历年典型考点(频考版试卷).docx
- [毕节]2024年贵州毕节市七星关区教育局考调25人笔试历年典型考点(频考版试卷)附带答案详解.docx
- [桂林]2024年广西桂林市中医医院人才招聘笔试历年典型考点(频考版试卷)附带答案详解.docx
- [毕节]2023年贵州毕节幼儿师范高等专科学校人才引进笔试历年典型考点(频考版试卷)附带答案详解.docx
- [梧州]2024年广西梧州职业学院招聘55人笔试历年典型考点(频考版试卷)附带答案详解.docx
- [济宁]2024年山东济宁微山县事业单位招聘工作人员(教育类)笔试历年典型考点(频考版试卷)附带答案.docx
- [柳州]2023年广西柳州市环境卫生管理处招聘笔试历年典型考点(频考版试卷)附带答案详解.docx
最近下载
- 三国志9吧剧本制作教科书.pdf
- 苏教版四年级上册数学四年级上册数学第四单元《统计表和条形统计图(一)》专项练习(含答案).pdf VIP
- 温州市普通高中2025届高三第一次适应性考试(一模) 数学试卷(含答案详解)原卷.pdf
- 临床安全用药药品合理使用培训.docx
- 装配式钢结构住宅.pptx VIP
- 2023-2024学年浙江省金华市武义、永康、磐安县九年级(上)期末科学试卷.pdf
- 《面向对象程序设计C++》期末试卷及标准答案 .pdf VIP
- 五年级下-1000道口算.docx
- 九省联考2024届高三新高考适应性测试数学试题(解析版).docx
- 河南省郑州一中2024届数学八上期末调研模拟试题含解析.doc VIP
文档评论(0)