MSP430系列超低功耗单片机原理与系统设计 教学课件 作者 李智奇 4 6 第4章.pptVIP

MSP430系列超低功耗单片机原理与系统设计 教学课件 作者 李智奇 4 6 第4章.ppt

  1. 1、本文档共245页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档