无条件转移指令向后最多可以跳转多少条指令 (无条件转移指令)

本文目录导航:
- 无条件转移指令向后最多可以跳转多少条指令
- 单片机:AJMP指令的跳转范畴是2K,SJMP $ 偏移量是多少?
- 汇编指令之管理跳转指令
- 为什么单片机中CJNE,JNB,JB这几条指令可成功的转移范畴是负的128到127?
无条件转移指令向后最多可以跳转多少条指令
无条件转移指令向后最多可以跳转127条指令。
向后跳转是指向地址大的方向扭转,由于OFFSET是8位补码,示意范畴为-128~127,可以向后跳转127条指令。
单片机:AJMP指令的跳转范畴是2K,SJMP $ 偏移量是多少?
SJMP $ 偏移量是256,即-128--+127
汇编指令之管理跳转指令
管理传输指令提供跳转、条件跳转、循环以及调用和前往操作来管理程序流。
JMP 跳转. JE/JZ 假设相等/为0则跳转 JNE/JNZ 假设不相等/不为0 则跳转 JA/JNBE 假设高于则跳转,假设不是低于或等于则跳转。
JAE/JNB 假设高于或许等于则跳转/假设不低于则跳转。
JB/JNAE 假设低于则跳转/假设不高于或等于则跳转。
JBE/JNA 假设低于或许等于则跳转/假设不高于则跳转 JG/JNLE假设大于则跳转/假设不小于或许等于则跳转 JGE/JNL 假设高于或许等于则跳转/假设不低于则跳转 JL/JNGE假设小于则跳转/假设不大于或许等于则跳转 JLE/JNG假设小于或许等于则跳转/假设不高于则跳转 JC 假设进位则跳转 JNC 假设不进位则跳转 JO 假设溢出则跳转 JNO 假设不溢出则跳转 JS假设有符号(正数)则跳转。
JNS 假设没有符号(非正数)则跳转。
JPO/JNP 假设奇偶校验奇数跳转/假设不奇偶校验则跳转。
JPE/JP 假设奇偶校验偶数跳转/假设奇偶校验则跳转。
JCXZ/JECXZ 假设寄存器CX为0则跳转/假设寄存器ECX为0则跳转 LOOP经常使用ECX计算器启动循环 LOOPZ/LOOPE 经常使用ECX及0标志启动循环/经常使用ECX相等启动循环 LOOPNZ/LOOPNE 经常使用ECX为非0标志启动循环/经常使用ECX不相等启动循环 CALL 调用环节 RET 前往 IRET 从终止前往 INT 软终止 INTO 溢出终止 BOUND 检测到值超越边界 ENTER 初级别环节入口 LEAVE 初级别环节分开
为什么单片机中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,则转移;否则顺序口头
文章评论