- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 MSP430系列单片机的指令系统与程序设计 4.1 MSP430指令系统概述 汇编语言(Assembly Language)是用助记符和标号地址来编写程序语言的,直接面向机器,因机器而异。汇编语言的语句由四部分组成:标号、操作码、操作数和注释。MSP430单片机的指令格式如下: 【标号】 操作码,【操作数】【;注释】 标号:用户设定的符号,表示该指令所在的地址。由汇编器将标号翻译成该行语句的物理地址。标号并非每一个语句都有,只有在需要时才使用。书写时最左边对齐,后面不必用冒号。 操作码:指令的操作功能,是任何一个语句都不可缺少的。 操作数:规定数据的类型和所用的寻址方式。如果有两个操作数,则第一个为源操作数,第二个为目的操作数,源操作数和目的操作数之间用逗号分隔;如果只有一个操作数,该操作数既是源操作数,又是目的操作数。有的指令也可以没有操作数,如NOP指令。 注释:语句的说明部分,它必须用分号“;”和指令隔开,注解该指令具体完成了什么操作,它是为了方便人们阅读程序而设定的。计算机在汇编时对注释部分不作处理。 4.1.2 指令系统中的符号说明 指令系统中各符号的含义介绍如下: (1) 前面带有标志“*”的指令是仿真指令,仿真指令的使用结合了CPU结构和执行方便的内核指令,使得代码效率更高,速度更快; (2) “→”表示“写内容到”; (3) “src”和“dst”分别表示源操作数和目的操作数; (4) 状态位中“*”表示影响,“-” 表示不影响,“0”和“1”表示清零和置位; (5) “@”表示寄存器间接寻址,“direct”代表直接地址; (6) 指令助记符的后缀“.W”或无后缀表示其为字操作指令,在字操作指令中,存储器地址一定要对准偶数地址,指令助记符的后缀“.B”表示其为字节操作指令; (7)Rn表示R0~R15; (8) PC/R0为程序计数器; (9) SP/R1为堆栈指针; (10) TOS为堆栈顶; (11) 后面的数据为具体的地址; (12) #是立即数的前缀,后面的数为立即数; (13) ?MSB为最高有效位; (14) LSB为最低有效位; (15) +表示内容增加; (16) -内容减少; (17) V为溢出标志,N为负标志,Z为零标志,C为进位标志; (18) (×)表示某寄存器或某单元中的内容; (19) ((×))表示间接寻址单元中的内容; (20) ?EDE、TONI、TOM和LEO是一般的符号,它们没有特殊的含义。 4.1.3 指令的代码格式 MSP430单片机指令系统的代码格式有双操作数指令(内核指令)代码格式、单操作数指令(内核指令)代码格式、条件和无条件转移指令代码格式,下面分别进行介绍。 1. 双操作数指令(内核指令) 双操作数指令由4个域组成,共16位代码。 ? 操作码域,4位[操作码]。 ? 源域,6位[源寄存器+As]。 ? 字节操作识别符,1位[B/W]。 ? 目的域,5位[目的寄存器+Ad]。 2. 单操作数指令(内核指令) 单操作数指令是由2个主域组成的,共16位代码。 3. 条件和无条件转移指令(内核指令) 该类指令包括2个主域,共16位代码。 ?操作码域,6位。 ?跳转偏移域,10位。 转移指令可跳转到相对于当前地址范围在-511~+512字之间的地址。汇编器计算出有符号的偏移,并把它们插入操作码。 转移类指令不影响状态位,当发生转移时,可通过偏移量改变PC值,公式为 4.1.4 无需ROM补偿的仿真指令 无需ROM补偿的仿真指令可用精简指令集仿真,汇编器接收仿真指令,并能够插入适当的内核指令。MSP430指令系统中无需ROM补偿的仿真指令如表4-1所示。 表4-1 无需ROM补偿的仿真指令 4.1.5 指令的时钟周期与指令长度 MSP430的指令执行速度(指令所用的时钟周期数,这里时钟周期指MCLK的周期)和指令长度(所占用存储空间)与指令的格式和寻址模式密切相关。在不同的寻址模式下,CPU寻找操作数的路径不一样,当然要占用不同的时间与不同的存储空间。表4-2和4-4给出了MSP430指令的时钟周期数和指令长度,表4-3和表4-5给出了简单判定双操作数和单操作数的CPU指令周期方式。 表4-2 双操作数指令的时钟周期数与指令长度 表4-3 双操作数指令执行周期 表4-4 单操作数指令的时钟周期数与指令长度 表4-5 单操作数指令执行周期 例如:PUSH #50
您可能关注的文档
- (MATLAB程序设计基础教程)第5章图形绘制.ppt
- (MATLAB程序设计基础教程)第6章MATLAB字符串与文件操作.ppt
- (MATLAB程序设计基础教程)第7章数值计算与分析.ppt
- (MATLAB程序设计基础教程)第8章符号运算.ppt
- (MATLAB程序设计基础教程)第9章句柄图形与GUI设计.ppt
- (MATLAB在自动控制中的应用)第1章MATLAB简介.ppt
- (MATLAB在自动控制中的应用)第2章MATLAB基本使用方法及常用.ppt
- (MATLAB在自动控制中的应用)第3章数学模型的MATLAB描述.ppt
- (MATLAB在自动控制中的应用)第4章控制系统分析与设计.ppt
- (MATLAB在自动控制中的应用)第5章基于Simulink的控制系统建模与仿真.ppt
- 2025年河南新乡工商职业学院中国近现代史纲要期末考试模拟题附答案.docx
- 2025年湖南科技学院中国近现代史纲要期末考试模拟题及答案1套.docx
- 2025年苏州高博职业学院思想道德修养与法律基础期末考试模拟题及答案1套.docx
- 2025年湖北汽车工业学院毛泽东思想和中国特色社会主义理论体系概论期末考试模拟题必考题.docx
- 2025年温州大学思想道德修养与法律基础期末考试模拟题新版.docx
- 2025年江西陶瓷工艺美术职业技术学院马克思主义基本原理概论期末考试模拟题附答案.docx
- 2025年珠海格力职业学院中国近现代史纲要期末考试模拟题必考题.docx
- 2025年鹰潭职业技术学院马克思主义基本原理概论期末考试模拟题附答案.docx
- 2025年长春师范高等专科学校毛泽东思想和中国特色社会主义理论体系概论期末考试模拟题必考题.docx
- 2025年西昌民族幼儿师范高等专科学校中国近现代史纲要期末考试模拟题必考题.docx
原创力文档


文档评论(0)