指令集概述.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
指令集概述

XC164 指令集 表 1 算术运算指令 两个字或字节加法: ADD ADDB 带进位的两个字或字节加法: ADDC ADDCB 两个字或字节减法: SUB SUBB 带借位的两个字或字节减法: SUBC SUBCB 16×16 位有符号或无符号数乘法: MUL MULU 16/16 DIV DIVU 32/16 DIVL DIVLU 表 2 逻辑运算指令 两个字或字节按位与: AND ANDB 两个字或字节按位或: OR ORB 两个字或字节按位异或: XOR XORB 表 3 比较和循环控制指令 表 4 布尔位操作指令 表 5 移位和循环移位指令 字右移: SHR - 字左移: SHL - 字右环移: ROR - 字左环移: ROL - 字算术右移 符号位移位 : ASHR - 表 6 数据转移指令 字或字节的标准数据转移: MOV MOVB 将字节数据转移到字地址,进行符号或零字节扩展: MOVBS MOVBZ 表 7 系统堆栈指令 将一个字压入系统堆栈: PUSH - 将一个字从系统堆栈中弹出: POP - 将一个字存入系统堆栈,然后用新值刷新旧值 用于寄 存器组切换 : SCXT - 表 8 跳转指令 在当前程序段内,有条件跳转至绝对、间接或相对寻址的目标指令: JMPA JMPI JMPR 在任意程序段内,无条件跳转至绝对寻址的目标指 令: JMPS - - 在当前程序段内,根据可选位的状态,有条件跳转至相对寻址的目标指令: JB JNB - 在当前程序段内,根据可选位的状态,有条件跳转至相对寻址的目标指令,跳转后对测试位取反 支持旗语操作 : JBC JNBC - 表 9 调用指令 在当前程序段内,有条件调用绝对或间接寻址的子程序: CALLA CALLI 在当前程序段内,无条件调用相对寻址的子程序: CALLR - 在任意程序段内,无条件调用绝对寻址的子程序: CALLS - 在当前程序段内,无条件调用绝对寻址的子程序,并将选择的寄存器压入系统堆栈: PCALL - 无条件跳转至代码段 内的中断或强制中断向量跳转表: TRAP - 表 10 返回指令 在当前程序段内,从子程序返回: RET - 在任何程序段内,从子程序返回: RETS - 在当前程序段内,从子程序返回,并将选择的寄存器从系统堆栈弹出: RETP - 从中断服务程序返回: RETI - 表 11 系统控制指令 通过软件复位 XC164: SRST - 进入空闲或休眠模式: IDLE - 进入掉电模式: PWRDN - 服务看门狗定时器 SRVWDT - 禁止看门狗定时器 DISWDT - 使能看门狗定时器 只能在 WDT 增强模式下执行 : ENWDT - 指示初始化子程序结束 将引脚 RSTOUT 拉高。WDT 兼容模式下,初始化之后禁止执行 DISWDT 指令 : EINIT - 表 12 其它指令 空操作,需要 2 个字节的存储空间和最短执行时间: NOP - 定义不可分的指令序列: ATOMIC - 将‘reg’,‘bitOff’,‘bitaddr’寻址模式切换至扩展 SFR 区: EXTR - 直接选择特定的数据页 代替 DPP 替代 DPP 寻址模式,可选择性的切换至 ESFR 区: EXTP EXTPR 直接选择特定的段 代替 DPP 替代 DPP 寻址模式,可选择性的切换至 ESFR 区: EXTS EXTSR 注:ATOMIC 和 EXT*指令支持不可中断的代码序列,例如用于旗语操作。?支持 超过当前 DPP 极限 ATOMIC 除外 的数据寻址,该特性对于利用高级语言 对较大存储器模型的编程非常有用。 表 13 MAC 单元指令 乘 和累加 : CoMUL CoMAC 加/: CoADD CoSUB 右移/: CoSHR CoSHL 算术右移: CoASHR - 加载累加器: CoLOAD - 存储 MAC 寄存器: CoSTORE - 比较值: CoCMP - 最小/: CoMIN CoMAX 绝对值: CoABS - 舍入: CoRND - 数据转移: CoMOV - 累加器取负: CoNEG - 空操作: CoNOP - 受保护指令 XC164 指令集中,有一些指令对于控制微控制器的功能十分重要,这些指令被称为受保护指令。这些指令使用最长的 32 位指令格式,而常规指令仅使用最长指令格式的 一部分 比如低 8 位 ,其它位用来提供附加信息,如所用到的寄存器。在取指期间数据可能被破坏,使用 32 位受保护双字指令可以增强数据安全性。重要的操作,如软件复位,只有在指令解码没有任何错误的情

文档评论(0)

abf4675328 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档