xxxx:xxxx
xxxx:xxxy
xxxx:xxxz
....
xxxx:xxxn
我想从xxxx:xxxz处跳转到xxxx:xxxn
有几种方法,各有什么优点或者缺点?
能不能讨论一下
7 个解决方案
#1
jmp无条件跳转
jx/jxx都是有条件跳转,具体可以查阅书本上的跳转表
jx/jxx都是有条件跳转,具体可以查阅书本上的跳转表
#2
jmp 标号
#3
jmp 标号
#4
xxxx:xxxz处的指令写成jmp 标号
xxxx:xxxn处的指令前标一个标号(注意此标号名称与"jmp 标号"中的标号一致)!
xxxx:xxxn处的指令前标一个标号(注意此标号名称与"jmp 标号"中的标号一致)!
#5
jmp,je,jne,jz,jnz
其中除了jmp外都是需要判断条件进行跳转的,jmp可以进行cs,ip设置,不需要条件。jmp 偏移地址 或这 jmp 段地址:偏移地址
=================================
王爽汇编语言论坛应该对你的学习有帮助www.asmedu.net
其中除了jmp外都是需要判断条件进行跳转的,jmp可以进行cs,ip设置,不需要条件。jmp 偏移地址 或这 jmp 段地址:偏移地址
=================================
王爽汇编语言论坛应该对你的学习有帮助www.asmedu.net
#6
无条件跳转/条件跳转
#7
JC∶ 简单条件转移指令助记符——有进位转移。CF=1 则转移(段内直接短转移,产生 8位的位移量,即转移地址的偏移量在—128 到+127之间)。
JCXZ∶指令助记符——条件转移。(CX)=0, 则转移(段内直接短转移?)。
JE∶ 简单条件转移指令助记符——(两数比较)相等转移(同JZ)。前次操作结果为0,ZF=1则转移(段内直接短转移)。
JG∶有符号数条件转移指令助记符——(有符号数比较)大于转移(等价JNLE)。SF和OF同号,且ZF=0 时转移。(段内直接短转移)
JGE∶ 有符号数条件转移指令助记符——(有符号数比较)大于或等于转移(等价于JNL)。 当SF和OF同号,或ZF=1, 则转移(段内直接短转移)。
JL∶ 有符号数条件转移指令助记符——(有符号数比较)小于转移(等价于JNGE)。当SF和OF异号,且ZF=0 时转移(段内直接短转移)。
JLE∶ 指令助记符——(有符号数比较)小于或等于转移(等价于JNG)。当SF和OF异号或ZF=1时转移(段内直接短转移)。
JMP∶ 指令助记符——无条件转移。无条件转移到指令所指示的目标地址,并从该地址开始执行。目标地址可以从指令中直接得到,也可以从指令中给定的寄存器或存储器中得到。
一、段内直接短转移 JMP SHORT 标号。标号是转移的目的地址,由它确定一个 8位位移量。这个位移量被加到IP寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是—128至+127。
二、段内直接近转移 JMP NEAR PTR 标号。 标号是转移的目的地址,由它确定一个16位位移量。这个位移量被加到IP寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是—32768至+32767。
三、段内间接转移 ①JMP AX (段内寄存器间接转移);②JMP [BX](段内存储器间接转移)。将指令中给定的寄存器或存储单元中的内容送到IP中。
四、段间直接转移 JMP FAR PTR 标号。 标号为符号地址。
JNB∶ 无符号数条件转移指令助记符——(无符号数比较)不低于转移(等价JAE)。CF=0,或ZF=1 则转移(段内直接短转移)。
JNBE∶无符号数条件转移指令助记符——(无符号数比较)不低于且不等于转移(等价JA)。CF=0, 且ZF=0 则转移(段内直接短转移)。
JNC∶ 简单条件转移指令助记符——前次操作无进或进位位转移。CF=0 则转移(段内直接短转移)。
JNE∶ 简单条件转移指令助记符——不相等转移(同JNZ)。前次操作结果不等于0,ZF=0 则转移(段内直接短转移)。
JNG∶ 指令助记符——(有符号数比较)不大于转移(等价于JLE)。当SF和OF异号或ZF=1时转移(段内直接短转移)。
JNGE∶指令助记符——(有符号数比较)不大于且不等于转移(等价于JL)。当SF和OF异号,且ZF=0 时转移(段内直接短转移)。
JNL∶ 指令助记符——(有符号数比较)不小于时转移(等价于JGE)。 当SF和OF同号,或ZF=1, 则转移(段内直接短转移)。
JNLE∶指令助记符——(有符号数比较)不小于且不等于转移(等价JG)。SF和OF同号,且ZF=0 时转移。
JNZ∶ 简单条件转移指令助记符——不相等转移(同JNE)。ZF=0 则转移(段内直接短转移)。
JZ∶ 简单条件转移指令助记符——相等转移(同JE)。ZF=1 则转移(段内直接短转移)。
需要那个用那个,看实际情况而定
JCXZ∶指令助记符——条件转移。(CX)=0, 则转移(段内直接短转移?)。
JE∶ 简单条件转移指令助记符——(两数比较)相等转移(同JZ)。前次操作结果为0,ZF=1则转移(段内直接短转移)。
JG∶有符号数条件转移指令助记符——(有符号数比较)大于转移(等价JNLE)。SF和OF同号,且ZF=0 时转移。(段内直接短转移)
JGE∶ 有符号数条件转移指令助记符——(有符号数比较)大于或等于转移(等价于JNL)。 当SF和OF同号,或ZF=1, 则转移(段内直接短转移)。
JL∶ 有符号数条件转移指令助记符——(有符号数比较)小于转移(等价于JNGE)。当SF和OF异号,且ZF=0 时转移(段内直接短转移)。
JLE∶ 指令助记符——(有符号数比较)小于或等于转移(等价于JNG)。当SF和OF异号或ZF=1时转移(段内直接短转移)。
JMP∶ 指令助记符——无条件转移。无条件转移到指令所指示的目标地址,并从该地址开始执行。目标地址可以从指令中直接得到,也可以从指令中给定的寄存器或存储器中得到。
一、段内直接短转移 JMP SHORT 标号。标号是转移的目的地址,由它确定一个 8位位移量。这个位移量被加到IP寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是—128至+127。
二、段内直接近转移 JMP NEAR PTR 标号。 标号是转移的目的地址,由它确定一个16位位移量。这个位移量被加到IP寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是—32768至+32767。
三、段内间接转移 ①JMP AX (段内寄存器间接转移);②JMP [BX](段内存储器间接转移)。将指令中给定的寄存器或存储单元中的内容送到IP中。
四、段间直接转移 JMP FAR PTR 标号。 标号为符号地址。
JNB∶ 无符号数条件转移指令助记符——(无符号数比较)不低于转移(等价JAE)。CF=0,或ZF=1 则转移(段内直接短转移)。
JNBE∶无符号数条件转移指令助记符——(无符号数比较)不低于且不等于转移(等价JA)。CF=0, 且ZF=0 则转移(段内直接短转移)。
JNC∶ 简单条件转移指令助记符——前次操作无进或进位位转移。CF=0 则转移(段内直接短转移)。
JNE∶ 简单条件转移指令助记符——不相等转移(同JNZ)。前次操作结果不等于0,ZF=0 则转移(段内直接短转移)。
JNG∶ 指令助记符——(有符号数比较)不大于转移(等价于JLE)。当SF和OF异号或ZF=1时转移(段内直接短转移)。
JNGE∶指令助记符——(有符号数比较)不大于且不等于转移(等价于JL)。当SF和OF异号,且ZF=0 时转移(段内直接短转移)。
JNL∶ 指令助记符——(有符号数比较)不小于时转移(等价于JGE)。 当SF和OF同号,或ZF=1, 则转移(段内直接短转移)。
JNLE∶指令助记符——(有符号数比较)不小于且不等于转移(等价JG)。SF和OF同号,且ZF=0 时转移。
JNZ∶ 简单条件转移指令助记符——不相等转移(同JNE)。ZF=0 则转移(段内直接短转移)。
JZ∶ 简单条件转移指令助记符——相等转移(同JE)。ZF=1 则转移(段内直接短转移)。
需要那个用那个,看实际情况而定
#1
jmp无条件跳转
jx/jxx都是有条件跳转,具体可以查阅书本上的跳转表
jx/jxx都是有条件跳转,具体可以查阅书本上的跳转表
#2
jmp 标号
#3
jmp 标号
#4
xxxx:xxxz处的指令写成jmp 标号
xxxx:xxxn处的指令前标一个标号(注意此标号名称与"jmp 标号"中的标号一致)!
xxxx:xxxn处的指令前标一个标号(注意此标号名称与"jmp 标号"中的标号一致)!
#5
jmp,je,jne,jz,jnz
其中除了jmp外都是需要判断条件进行跳转的,jmp可以进行cs,ip设置,不需要条件。jmp 偏移地址 或这 jmp 段地址:偏移地址
=================================
王爽汇编语言论坛应该对你的学习有帮助www.asmedu.net
其中除了jmp外都是需要判断条件进行跳转的,jmp可以进行cs,ip设置,不需要条件。jmp 偏移地址 或这 jmp 段地址:偏移地址
=================================
王爽汇编语言论坛应该对你的学习有帮助www.asmedu.net
#6
无条件跳转/条件跳转
#7
JC∶ 简单条件转移指令助记符——有进位转移。CF=1 则转移(段内直接短转移,产生 8位的位移量,即转移地址的偏移量在—128 到+127之间)。
JCXZ∶指令助记符——条件转移。(CX)=0, 则转移(段内直接短转移?)。
JE∶ 简单条件转移指令助记符——(两数比较)相等转移(同JZ)。前次操作结果为0,ZF=1则转移(段内直接短转移)。
JG∶有符号数条件转移指令助记符——(有符号数比较)大于转移(等价JNLE)。SF和OF同号,且ZF=0 时转移。(段内直接短转移)
JGE∶ 有符号数条件转移指令助记符——(有符号数比较)大于或等于转移(等价于JNL)。 当SF和OF同号,或ZF=1, 则转移(段内直接短转移)。
JL∶ 有符号数条件转移指令助记符——(有符号数比较)小于转移(等价于JNGE)。当SF和OF异号,且ZF=0 时转移(段内直接短转移)。
JLE∶ 指令助记符——(有符号数比较)小于或等于转移(等价于JNG)。当SF和OF异号或ZF=1时转移(段内直接短转移)。
JMP∶ 指令助记符——无条件转移。无条件转移到指令所指示的目标地址,并从该地址开始执行。目标地址可以从指令中直接得到,也可以从指令中给定的寄存器或存储器中得到。
一、段内直接短转移 JMP SHORT 标号。标号是转移的目的地址,由它确定一个 8位位移量。这个位移量被加到IP寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是—128至+127。
二、段内直接近转移 JMP NEAR PTR 标号。 标号是转移的目的地址,由它确定一个16位位移量。这个位移量被加到IP寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是—32768至+32767。
三、段内间接转移 ①JMP AX (段内寄存器间接转移);②JMP [BX](段内存储器间接转移)。将指令中给定的寄存器或存储单元中的内容送到IP中。
四、段间直接转移 JMP FAR PTR 标号。 标号为符号地址。
JNB∶ 无符号数条件转移指令助记符——(无符号数比较)不低于转移(等价JAE)。CF=0,或ZF=1 则转移(段内直接短转移)。
JNBE∶无符号数条件转移指令助记符——(无符号数比较)不低于且不等于转移(等价JA)。CF=0, 且ZF=0 则转移(段内直接短转移)。
JNC∶ 简单条件转移指令助记符——前次操作无进或进位位转移。CF=0 则转移(段内直接短转移)。
JNE∶ 简单条件转移指令助记符——不相等转移(同JNZ)。前次操作结果不等于0,ZF=0 则转移(段内直接短转移)。
JNG∶ 指令助记符——(有符号数比较)不大于转移(等价于JLE)。当SF和OF异号或ZF=1时转移(段内直接短转移)。
JNGE∶指令助记符——(有符号数比较)不大于且不等于转移(等价于JL)。当SF和OF异号,且ZF=0 时转移(段内直接短转移)。
JNL∶ 指令助记符——(有符号数比较)不小于时转移(等价于JGE)。 当SF和OF同号,或ZF=1, 则转移(段内直接短转移)。
JNLE∶指令助记符——(有符号数比较)不小于且不等于转移(等价JG)。SF和OF同号,且ZF=0 时转移。
JNZ∶ 简单条件转移指令助记符——不相等转移(同JNE)。ZF=0 则转移(段内直接短转移)。
JZ∶ 简单条件转移指令助记符——相等转移(同JE)。ZF=1 则转移(段内直接短转移)。
需要那个用那个,看实际情况而定
JCXZ∶指令助记符——条件转移。(CX)=0, 则转移(段内直接短转移?)。
JE∶ 简单条件转移指令助记符——(两数比较)相等转移(同JZ)。前次操作结果为0,ZF=1则转移(段内直接短转移)。
JG∶有符号数条件转移指令助记符——(有符号数比较)大于转移(等价JNLE)。SF和OF同号,且ZF=0 时转移。(段内直接短转移)
JGE∶ 有符号数条件转移指令助记符——(有符号数比较)大于或等于转移(等价于JNL)。 当SF和OF同号,或ZF=1, 则转移(段内直接短转移)。
JL∶ 有符号数条件转移指令助记符——(有符号数比较)小于转移(等价于JNGE)。当SF和OF异号,且ZF=0 时转移(段内直接短转移)。
JLE∶ 指令助记符——(有符号数比较)小于或等于转移(等价于JNG)。当SF和OF异号或ZF=1时转移(段内直接短转移)。
JMP∶ 指令助记符——无条件转移。无条件转移到指令所指示的目标地址,并从该地址开始执行。目标地址可以从指令中直接得到,也可以从指令中给定的寄存器或存储器中得到。
一、段内直接短转移 JMP SHORT 标号。标号是转移的目的地址,由它确定一个 8位位移量。这个位移量被加到IP寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是—128至+127。
二、段内直接近转移 JMP NEAR PTR 标号。 标号是转移的目的地址,由它确定一个16位位移量。这个位移量被加到IP寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是—32768至+32767。
三、段内间接转移 ①JMP AX (段内寄存器间接转移);②JMP [BX](段内存储器间接转移)。将指令中给定的寄存器或存储单元中的内容送到IP中。
四、段间直接转移 JMP FAR PTR 标号。 标号为符号地址。
JNB∶ 无符号数条件转移指令助记符——(无符号数比较)不低于转移(等价JAE)。CF=0,或ZF=1 则转移(段内直接短转移)。
JNBE∶无符号数条件转移指令助记符——(无符号数比较)不低于且不等于转移(等价JA)。CF=0, 且ZF=0 则转移(段内直接短转移)。
JNC∶ 简单条件转移指令助记符——前次操作无进或进位位转移。CF=0 则转移(段内直接短转移)。
JNE∶ 简单条件转移指令助记符——不相等转移(同JNZ)。前次操作结果不等于0,ZF=0 则转移(段内直接短转移)。
JNG∶ 指令助记符——(有符号数比较)不大于转移(等价于JLE)。当SF和OF异号或ZF=1时转移(段内直接短转移)。
JNGE∶指令助记符——(有符号数比较)不大于且不等于转移(等价于JL)。当SF和OF异号,且ZF=0 时转移(段内直接短转移)。
JNL∶ 指令助记符——(有符号数比较)不小于时转移(等价于JGE)。 当SF和OF同号,或ZF=1, 则转移(段内直接短转移)。
JNLE∶指令助记符——(有符号数比较)不小于且不等于转移(等价JG)。SF和OF同号,且ZF=0 时转移。
JNZ∶ 简单条件转移指令助记符——不相等转移(同JNE)。ZF=0 则转移(段内直接短转移)。
JZ∶ 简单条件转移指令助记符——相等转移(同JE)。ZF=1 则转移(段内直接短转移)。
需要那个用那个,看实际情况而定