- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.3转移控制类和其他控制类
Cond 操作码 指令助记符 操作数类型 条件描述 标志位状态 0000 JCC - 清进位C C=0 0000 JB 无符号数 小于 C=0 0000 JNAE 无符号数 不大于等于 C=0 0001 JCS - 进位位置1 C=1 0001 JNB 无符号数 不小于 C=1 0001 JAE 无符号数 大于等于 C=1 0010 JSC - 清符号位 S=0 0010 JGE 有符号数 大于等于 S=0 0010 JNL 有符号数 不小于 S=0 0011 JSS - 符号位置1 S=1 0011 JNGE 有符号数 不大于等于 S=1 0011 JL 有符号数 小于 S=1 0100 JNE - 不等于 Z=0 0100 JNZ - 非0 Z=0 0101 JZ - 零 Z=1 0101 JE - 相等 Z=1 0110 JPL - 为正 N=0 0111 JMI - 为负 N=1 1000 JBE 无符号数 小于等于 Not (Z=0 and C=1) 1000 JNA 无符号数 不大于 Not (Z=0 and C=1) 1001 JNBE 无符号数 不小于等于 Z=0 and C=1 1001 JA 无符号数 大于 Z=0 and C=1 1010 JLE 有符号数 小于等于 Not (Z=0 and S=0) 1010 JNG 有符号数 不大于 Not (Z=0 and S=0) 1011 JNLE 有符号数 不小于等于 Z=0 and S=0 1011 JG 有符号数 大于 Z=0 and S=0 1100 JVC 有符号数 无溢出 N=S 1101 JVS 有符号数 溢出 N ! =S 1110 JMP 无条件转移 控制转移类指令分为两类:一种是无条件转移;一种是有条件转移。 JMP:短跳转/相对跳转,跳转范围有限。只能在该条指令±128字节内跳转。优点:耗费指令周期短、速度快。 GOTO:长跳转/绝对跳转,可以跳转到整个寻址空间任意地址处 标号是标号名后面加: 子程序也是程序名后面加:,但是子程序结束时需要子程序返回指令RETF(Return from Function) * FIR_MOV状态不可读,所以在中断中使用要多加注意。 程序转移和其它控制类 SPCE061A 的指令总共只有41种,可分为四类: 数据传送类 算逻运算类 程序转移控制类 其它控制类 软件中断 子程序调用指令 子程序返回 中断返回 有条件/无条件跳转 无条件长跳转 功能描述:产生一个由指令控制的软件中断,CPU会跳到中断向量[0xFFF5]处执行软中断服务子程序。 应用举例: BREAK; //产生一个软件中断 功能描述:这是在64页CODE段绝对地址范围内的子程序调用指令。在指令执行期间,程序指针PC和段寄存器SR都会被自动压入栈中。 应用举例: Call sub_1; 功能描述:从子程序返回时须用RETF指令从栈中弹出状态寄存器SR和程序指针PC的值。弹栈动作发生在本指令执行之后,弹栈后SR和PC的值应分别与调用子程序之前二者的值相同。 应用举例: sub1: .PROC ... RETF; // return from sub1 . ENDP 功能描述:从中断服务子程序返回时须用RETF或者RETI指令从栈中弹出状态寄存器SR和程序指针PC的值。弹栈动作发生在本指令执行之后,弹栈后SR和PC的值应分别与进入中断服务子程序之前二者的值相同。 应用举例:.TEXT .PUBLIC _IRQ1 _IRQ1: ... RETI; // return from IRQ1 功能描述:这是一组程序条件/无条件近转移指令。通过检测SR寄存器中各标志位作为程序转移的条件。若条件满足则程序跳转到与PC相关的地址上,跳转范围限制为PC±64个字;条件不满足则程序继续执行条件转移指令后面的指令。 条件跳转类指令 把参与比较的数看作无符号数(C、Z) JA(JNBE):大于 JB(JNAE):小于 JNA(JBE):不大于 JNB(JAE):不小于 把参与比较的数看作有符号数(S、Z) JG:大于 JL:小于 JNG(JLE):不大于 JNL(JGE):不小于 结果是否为零(Z) JZ(JE): JNZ(JNE): 应用举
文档评论(0)