跳转_01

1、

JS(jump if sign),汇编语言中的条件转移指令。结果为负则转移。
其他指令参加下表:
——————————————————————————————————
名称   功能  操作数 操作码 模数 寄存器1 寄存器2
或内存 位移量 立即数 符号 方向 芯片
型号 16位 32位 
JO 溢出跳转 短  $70 无 无 无 无 10 无 无 8086 无 无 
JNO 不溢出跳转 短  $71 无 无 无 无 10 无 无 8086 无 无 
JB 低于跳转 短  $72 无 无 无 无 10 无 无 8086 无 无 
JNB 不低于跳转 短  $73 无 无 无 无 10 无 无 8086 无 无 
JE 相等跳转 短  $74 无 无 无 无 10 无 无 8086 无 无 
JNE 不等跳转 短  $75 无 无 无 无 10 无 无 8086 无 无 
JBE 不高于跳转 短  $76 无 无 无 无 10 无 无 8086 无 无 
JA 高于跳转 短  $77 无 无 无 无 10 无 无 8086 无 无 
JS 负号跳转 短  $78 无 无 无 无 10 无 无 8086 无 无 
JNS 非负跳转 短  $79 无 无 无 无 10 无 无 8086 无 无 
JP 奇偶跳转 短  $7A 无 无 无 无 10 无 无 8086 无 无 
JNP 非奇偶跳转 短  $7B 无 无 无 无 10 无 无 8086 无 无 
JL 小于跳转 短  $7C 无 无 无 无 10 无 无 8086 无 无 
JNL 不小于跳转 短  $7D 无 无 无 无 10 无 无 8086 无 无 
JNG 不大于跳转 短  $7E 无 无 无 无 10 无 无 8086 无 无 
JG 大于跳转 短  $7F 无 无 无 无 10 无 无 8086 无 无 
JO 溢出跳转 近  $0F80 无 无 无 无 10 无 无 386 无 $66 
JNO 不溢出跳转 近  $0F81 无 无 无 无 10 无 无 386 无 $66 
JB 低于跳转 近  $0F82 无 无 无 无 10 无 无 386 无 $66 
JNB 不低于跳转 近  $0F83 无 无 无 无 10 无 无 386 无 $66 
JE 相等跳转 近  $0F84 无 无 无 无 10 无 无 386 无 $66 
JNE 不等跳转 近  $0F85 无 无 无 无 10 无 无 386 无 $66 
JBE 不高于跳转 近  $0F86 无 无 无 无 10 无 无 386 无 $66 
JA 高于跳转 近  $0F87 无 无 无 无 10 无 无 386 无 $66 
JS 负号跳转 近  $0F88 无 无 无 无 10 无 无 386 无 $66 
JNS 非负跳转 近  $0F89 无 无 无 无 10 无 无 386 无 $66 
JP 奇偶跳转 近  $0F8A 无 无 无 无 10 无 无 386 无 $66 
JNP 非奇偶跳转 近  $0F8B 无 无 无 无 10 无 无 386 无 $66 
JL 小于跳转 近  $0F8C 无 无 无 无 10 无 无 386 无 $66 
JNL 不小于跳转 近  $0F8D 无 无 无 无 10 无 无 386 无 $66 
JNG 不大于跳转 近  $0F8E 无 无 无 无 10 无 无 386 无 $66 
JG 大于跳转 近  $0F8F 无 无 无 无 10 无 无 386 无 $66 
JO 溢出跳转 近  $0F80 无 无 无 无 10 无 无 386 $66JNO 不溢出跳转 近  $0F81 无 无 无 无 10 无 无 386 $66JB 低于跳转 近  $0F82 无 无 无 无 10 无 无 386 $66JNB 不低于跳转 近  $0F83 无 无 无 无 10 无 无 386 $66JE 相等跳转 近  $0F84 无 无 无 无 10 无 无 386 $66JNE 不等跳转 近  $0F85 无 无 无 无 10 无 无 386 $66JBE 不高于跳转 近  $0F86 无 无 无 无 10 无 无 386 $66JA 高于跳转 近  $0F87 无 无 无 无 10 无 无 386 $66JS 负号跳转 近  $0F88 无 无 无 无 10 无 无 386 $66JNS 非负跳转 近  $0F89 无 无 无 无 10 无 无 386 $66JP 奇偶跳转 近  $0F8A 无 无 无 无 10 无 无 386 $66JNP 非奇偶跳转 近  $0F8B 无 无 无 无 10 无 无 386 $66JL 小于跳转 近  $0F8C 无 无 无 无 10 无 无 386 $66JNL 不小于跳转 近  $0F8D 无 无 无 无 10 无 无 386 $66JNG 不大于跳转 近  $0F8E 无 无 无 无 10 无 无 386 $66JG 大于跳转 近  $0F8F 无 无 无 无 10 无 无 386 $66JCXZ 计数一六零跳转 位移8 $E3 无 无 无 无 10 无 无 8086 无 $67 
JECXZ 计数三二零跳转 位移8 $E3 无 无 无 无 10 无 无 386 $67JMP 跳转 寄16 $FF 11 100 3 无 无 无 无 8086 无 $66 
JMP 跳转 寄32 $FF 11 100 3 无 无 无 无 386 $66JMP 跳转 16[寄16] $FF 00 100 5 无 无 无 无 8086 无 $6766 
JMP 跳转 32[寄16] $FF 00 100 5 无 无 无 无 386 $66 $67 
JMP 跳转 16[寄32] $FF 00 100 5 无 无 无 无 386 $67 $66 
JMP 跳转 32[寄32] $FF 00 100 5 无 无 无 无 386 $6766JMP 跳转 16[寄16+位移8] $FF 01 100 5 9 无 无 无 8086 无 $6766 
JMP 跳转 32[寄16+位移8] $FF 01 100 5 9 无 无 无 386 $66 $67
JMP 跳转 16[寄32+位移8] $FF 01 100 5 9 无 无 无 386 $67 $66 
JMP 跳转 32[寄32+位移8] $FF 01 100 5 9 无 无 无 386 $6766JMP 跳转 16[寄16+位移16] $FF 10 100 5 9 无 无 无 8086 无 $6766 
JMP 跳转 32[寄16+位移16] $FF 10 100 5 9 无 无 无 386 $66 $67 
JMP 跳转 16[寄32+位移32] $FF 10 100 5 9 无 无 无 386 $67 $66 
JMP 跳转 32[寄32+位移32] $FF 10 100 5 9 无 无 无 386 $6766JMP 跳转 近16[寄16] $FF 00 100 5 无 无 无 无 8086 无 $6766 
JMP 跳转 近32[寄16] $FF 00 100 5 无 无 无 无 386 $66 $67 
JMP 跳转 近16[寄32] $FF 00 100 5 无 无 无 无 386 $67 $66 
JMP 跳转 近32[寄32] $FF 00 100 5 无 无 无 无 386 $6766JMP 跳转 近16[寄16+位移8] $FF 01 100 5 9 无 无 无 8086 无 $6766 
JMP 跳转 近32[寄16+位移8] $FF 01 100 5 9 无 无 无 386 $66 $67 
JMP 跳转 近16[寄32+位移8] $FF 01 100 5 9 无 无 无 386 $67 $66 
JMP 跳转 近32[寄32+位移8] $FF 01 100 5 9 无 无 无 386 $6766JMP 跳转 近16[寄16+位移16] $FF 10 100 5 9 无 无 无 8086 无 $6766 
JMP 跳转 近32[寄16+位移16] $FF 10 100 5 9 无 无 无 386 $66 $67 
JMP 跳转 近16[寄32+位移32] $FF 10 100 5 9 无 无 无 386 $67 $66 
JMP 跳转 近32[寄32+位移32] $FF 10 100 5 9 无 无 无 386 $6766JMP 跳转 远16[寄16] $FF 00 101 5 无 无 无 无 8086 无 $6766 
JMP 跳转 远32[寄16] $FF 00 101 5 无 无 无 无 386 $66 $67 
JMP 跳转 远16[寄32] $FF 00 101 5 无 无 无 无 386 $67 $66 
JMP 跳转 远32[寄32] $FF 00 101 5 无 无 无 无 386 $6766JMP 跳转 远16[寄16+位移8] $FF 01 101 5 9 无 无 无 8086 无 $6766 
JMP 跳转 远32[寄16+位移8] $FF 01 101 5 9 无 无 无 386 $66 $67 
JMP 跳转 远16[寄32+位移8] $FF 01 101 5 9 无 无 无 386 $67 $66 
JMP 跳转 远32[寄32+位移8] $FF 01 101 5 9 无 无 无 386 $6766JMP 跳转 远16[寄16+位移16] $FF 10 101 5 9 无 无 无 8086 无 $6766 
JMP 跳转 远32[寄16+位移16] $FF 10 101 5 9 无 无 无 386 $66 $67 
JMP 跳转 远16[寄32+位移32] $FF 10 101 5 9 无 无 无 386 $67 $66 
JMP 跳转 远32[寄32+位移32] $FF 10 101 5 9 无 无 无 386 $6766JMP 跳转 短  $EB 无 无 无 无 10 无 无 8086 无 无 
JMP 跳转 位移16 $E9 无 无 无 无 10 无 无 8086 无 $66 
JMP 跳转 位移32 $E9 无 无 无 无 10 无 无 386 $66JMP 跳转 近  $E9 无 无 无 无 10 无 无 8086 无 $66 
JMP 跳转 近  $E9 无 无 无 无 10 无 无 386 $66JMP 跳转 远(数段址:)偏移16 $EA 无 无 无 无 10 无 无 8086 无 $66 
JMP 跳转 远(数段址:)偏移32 $EA 无 无 无 无 10 无 无 386 $66JMP 跳转 数段址:偏移16 $EA 无 无 无 无 12 无 无 8086 无 $66 
JMP 跳转 数段址:偏移32 $EA 无 无 无 无 12 无 无 386 $66 无 
JMPE 跳转扩展 寄16 $0F00 11 110 3 无 无 无 无 IA64 无 $66 
JMPE 跳转扩展 寄32 $0F00 11 110 3 无 无 无 无 IA64 $66 无 
JMPE 跳转扩展 16[寄16] $0F00 00 110 5 无 无 无 无 IA64 无 $66 
JMPE 跳转扩展 32[寄16] $0F00 00 110 5 无 无 无 无 IA64 $66 无 
JMPE 跳转扩展 16[寄32] $0F00 00 110 5 无 无 无 无 IA64 无 $66 
JMPE 跳转扩展 32[寄32] $0F00 00 110 5 无 无 无 无 IA64 $66 无 
JMPE 跳转扩展 16[寄16+位移8] $0F00 01 110 5 9 无 无 无 IA64 无 $66 
JMPE 跳转扩展 32[寄16+位移8] $0F00 01 110 5 9 无 无 无 IA64 $66 无 
JMPE 跳转扩展 16[寄32+位移8] $0F00 01 110 5 9 无 无 无 IA64 无 $66 
JMPE 跳转扩展 32[寄32+位移8] $0F00 01 110 5 9 无 无 无 IA64 $66 无 
JMPE 跳转扩展 16[寄16+位移16] $0F00 10 110 5 9 无 无 无 IA64 无 $66 
JMPE 跳转扩展 32[寄16+位移16] $0F00 10 110 5 9 无 无 无 IA64 $66 无 
JMPE 跳转扩展 16[寄32+位移32] $0F00 10 110 5 9 无 无 无 IA64 无 $66 
JMPE 跳转扩展 32[寄32+位移32] $0F00 10 110 5 9 无 无 无 IA64 $66 无 
JMPE 跳转扩展 位移16 $0FB8 无 无 无 无 10 无 无 IA64 无 $66 
JMPE 跳转扩展 位移32 $0FB8 无 无 无 无 10 无 无 IA64 $66

 

2、

Sign Falg SF 
JS OPR //结果为负转移

3、

4、(20190302)标志寄存器_百度百科.html(https://baike.baidu.com/item/%E6%A0%87%E5%BF%97%E5%AF%84%E5%AD%98%E5%99%A8/5757541?fr=aladdin

符号含义


一览:
标志位(外语缩写)
标志位名称及外语全称
=1
=0
CF
进位标志/Carry Flag
CY/Carry/进位
NC/No Carry/无进位
PF
奇偶标志/Parity Flag
PE/Parity Even/偶
PO/Parity Odd/奇
AF
辅助进位标志/Auxiliary Carry Flag
AC/Auxiliary Carry/进位
NA/No Auxiliary Carry/无进位
ZF
零标志/Zero Flag
ZR/Zero/等于零
NZ/Not Zero/不等于零
SF
符号标志/Sign Flag
NG/Negative/负
PL/Positive/非负
TF
跟踪标志/Trace Flag
  
IF
中断标志/Interrupt Flag
EI/Enable Interrupt/允许
DI/Disable Interrupt/禁止
DF
方向标志/Direction Flag
DN/Down/减少
UP/增加
OF
溢出标志/Overflow Flag
OV/Overflow/溢出
NV/Not Overflow/未溢出

标志位置

各标志在标志寄存器中的位置:

 

条件标志:
  • 进位标志:用于反映运算是否产生进位或借位。如果运算结果的最高位产生一个进位或借位,则CF置1,否则置0。运算结果的最高位包括字操作的第15位和字节操作的第7位。移位指令也会将 操作数的最高位或最低位移入CF。
  • 奇偶标志:用于反映运算结果低8位中“1”的个数。“1”的个数为偶数,则PF置1,否则置0。
  • 辅助进位标志:算数操作结果的第三位(从0开始计数)如果产生了进位或者借位则将其置为1,否则置为0,常在BCD(binary-codedecimal)算术运算中被使用。
  • 零标志:用于判断结果是否为0。运算结果0,ZF置1,否则置0。
  • 符号标志:用于反映运算结果的符号,运算结果为负,SF置1,否则置0。因为 有符号数采用补码的形式表示,所以SF与运算结果的最高位相同。
  • 溢出标志:反映有符号数加减运算是否溢出。如果运算结果超过了8位或者16位有符号数的表示范围,则OF置1,否则置0。
控制标志:
    • 跟踪标志:当TF被设置为1时,CPU进入单步模式,所谓单步模式就是CPU在每执行一步指令后都产生一个单步中断。主要用于程序的调试。8086/8088中没有专门用来置位和清零TF的命令,需要用其他办法。
    • 中断标志:决定CPU是否响应外部可屏蔽 中断请求。IF为1时,CPU允许响应外部的可屏蔽中断请求。
    • 方向标志:决定串操作指令执行时有关指针寄存器调整方向。当DF为1时,串操作指令按递减方式改变有关 存储器指针值,每次操作后使SI、DI递减。

 

5、

6、

7、

8、

 

转载于:https://www.cnblogs.com/assemblyskill/p/5579671.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值