首页 SEO教程 正文

跳转指令分为哪几类 (跳转指令的含义)

SEO教程 2024-07-06 16
跳转指令的含义

本文目录导航:

跳转指令分为哪几类?

JC:进位则跳转。

JLE :有符号小于等于则跳转。

JE:等于则跳转。

JNC:不进位则跳转。

跳转指令分三类:

一、无条件跳转:JMP。

二、依据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转)。

三、依据 EFLAGS 寄存器的标记位跳转。

裁减资料

跳转标记位

JE:等于则跳转

JNE:不等于则跳转

JZ:为 0 则跳转

JNZ:不为 0 则跳转

JS:为负则跳转

JNS:不为负则跳转

JC:进位则跳转

JNC:不进位则跳转

JO:溢出则跳转

跳转指令分为哪几类

JNO:不溢出则跳转

JA:无符号大于则跳转

JNA:无符号不大于则跳转

JAE:无符号大于等于则跳转

JNAE:无符号不大于等于则跳转

JG:有符号大于则跳转

JNG:有符号不大于则跳转

JGE:有符号大于等于则跳转

JNGE:有符号不大于等于则跳转

网络百科-指令系统

为什么单片机中CJNE,JNB,JB这几条指令可成功的转移范畴是负的128到127?

单片机跳转指令解析管理转移类指令条件转移指令Jcc依据指定的条件确定程序能否出现转移。

假设满足条件则程序转移到指标地址去口头程序;不满足条件,则程序将顺序口头下一条指令。

其通用格局为:Jcc LABEL ;条件满足,出现转移:IP?IP+8位位移量;否则,顺序口头:IP?IP+2 其中,LABEL示意指标地址(8位位移量)。

由于Jcc指令为2个字节,所以顺序口头就是指令偏移指针IP加2。

条件转移指令跳转的指标地址只能用前面引见的段内短距离跳转(短转移),即指标地址只能是在同一段内,且在以后IP地址-128~+127个单元的范畴之内。

这种寻址模式由于是相关于以后IP 的,所以被称为相对寻址模式。

条件转移指令不影响标记,但要应用标记。

条件转移指令Jcc中的cc示意应用标记判别的条件,共16种。

如下图:1、判别单个标记位形态这组指令独自判别5个形态标记之一,依据某一个形态标记是0或1选择能否跳转。

(1)JZ/JE和JNZ/JNE应用零标记ZF,判别结果能否为零(或相等)JE指令(相等时转移)JZ指令(等于0时转移)这是当ZF=1时转移到指标地址的条件转移指令的两种助记符。

这条指令既实用于判别无符号数的相等,又实用于判别带符号数的相等。

JNE指令(不相等转移)JNZ指令(不等于0转移)这是当ZF=0时能转移到指标地址的条件转移指令的两种助记符。

这条指令也是既实用于判别无符号数,又实用于判别带符号数。

(2)JS和JNS应用符号标记SF,判别结果是正是负。

JS指令(为负转移)——当满足SF=1时,转移到指标地址JNS指令(为正转移)——满足SF=0时,转移到指标地址(3)JO和JNO应用溢出标记,判别结果能否发生溢出JO指令(溢出转移)——OF=1时,转移到指标地址 JNO指令(未溢出转移)——OF=0时,转移到指标地址(4)JP/JPE和JNP/JPO应用奇偶标记PF,判别结果中“1”的个数是偶是奇JP/JPE指令(为偶转移)——满足PF=1时转移 JNP/JPO指令(为奇转移)——满足PF=0时转移 数据通信为了牢靠常要启动校验。

罕用的校验方法是奇偶校验,即把字符ASCII码的最高位用作校验位,是包括校验位在内的字符中为“1”的个数恒为奇数(奇校验),或恒为偶数(偶校验)。

若驳回奇校验,在字符ASCII中为“1”的个数已为奇数时,则令其最高位为“0”;否则令最高位为“1”。

(5)JC/JB/JNAE和JNC/JNB/JAE,应用进位标记CF,判别结果能否进位或借位,CF标记是比拟罕用的一个标记。

JC——满足CF=1时转移 JNC——满足CF=0时转移JB(低于转移) JNB(不低于转移) JNAE(不高于等于转移) JAE(高于等于转移) 2、用于比拟无符号数高下为区别有符号数的大小,无符号数的大小用高(Above)、低(Below)示意,它须要应用CF确定高下、应用ZF标记确定相等(Equal)。

两数的高下分红4种相关:低于(不高于等于)、不低于(高于等于)、低于等于(不高于)、不低于等于(高于);也就区分对应4条指令:JB(JNAE)、 JNB(JAE)、JBE(JNA)、JNBE(JA)。

JA/JNBEJA即高于转移,JNBE即不低于且不等于转移,高于则没有进位发生,即CF=0,不等于则ZF=0,所以这两条指令满足CF=0且ZF=0时转移JAE/JNB高于或等于转移/不低于转移是当CF=0(高于就不发生进位)或ZF=1(等于)时转移。

JB/JNAE即低于/不高于且不等于转移,是当CF=1(发生借位)且ZF=0(不相等)时转移。

JBE/JNA即低于或等于/不高于转移,是当CF=1(借位发生)或ZF=1(相等)时转移。

3、用于比拟有符号数大小判别有符号数的大(Greater)、小(Less),须要组合OF、SF标记、并应用ZF标记确定相等与否。

两数的大小分红4种相关:小于(不大于等于)、不小于(大于或等于)、小于等于(不大于)、不小于等于(大于);也就区分对应4条指令:JL(JNGE)、JNL(JGE)、JLE(JNG)、 JNLE(JG)。

由上可见,条件转移指令之前常有CMP、TEST、加减运算、逻辑运算等影响标记的指令,应用这些指令口头后的标记或其组合形态构成条件。

JG/JNLE大于/不小于且不等于转移,是当标记SF与OF同号(即<SF异或OF>=0)且ZF=0时转移JGE/JNL大于或等于/不小于转移,是当标记SF与OF同号(即<SF异或OF>=0)或ZF=0时转移JL/JNGL小于/不大于也不等于时转移,是当标记SF与OF异号(即<SF异或OF>=1)且ZF=0时转移JLE/LNG小于或等于/不大于转移,是当标记SF与OF异号(即<SF异或OF>=1)或ZF=1时转移4、判别计数器CX能否为0JCXZ LABEL ;CX=0,则转移;否则顺序口头

2、 在单片机指令中,能够成功判别并跳转的语句有哪些?

能够成功判别并跳转的指令很多的,有:CJNE,JC,JNC,JZ,JNZ,JB,JNB,JBC,DJNZ。

c言语的跳转指令是什么?

C言语跳转指令蕴含,子程序调用,无条件转移,条件转移等。如:int x,yx=10;y=sqr(10);//此时将转移到sqr函数去口头,为子程序调用出现的跳转x=10;goto sss;//此时将跳转到sss开局口头,为无条件转移出现的跳转do{i++;}while(i<100)//当i小于100时将跳转到循环的开局继续口头,为条件转移

302形态码处置方法 302形态码代表什么 (302状态码解决方法)
« 上一篇 2024-07-06
请问一下网站被墙什么意思 (请问一下网站怎么打不开)
下一篇 » 2024-07-06

文章评论