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 $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 无 JCXZ 计数一六零跳转 位移8 $E3 无 无 无 无 10 无 无 8086 无 $67 JECXZ 计数三二零跳转 位移8 $E3 无 无 无 无 10 无 无 386 $67 无 JMP 跳转 寄16 $FF 11 100 3 无 无 无 无 8086 无 $66 JMP 跳转 寄32 $FF 11 100 3 无 无 无 无 386 $66 无 JMP 跳转 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 $6766 无 JMP 跳转 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 $6766 无 JMP 跳转 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 $6766 无 JMP 跳转 近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 $6766 无 JMP 跳转 近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 $6766 无 JMP 跳转 近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 $6766 无 JMP 跳转 远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 $6766 无 JMP 跳转 远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 $6766 无 JMP 跳转 远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 $6766 无 JMP 跳转 短 $EB 无 无 无 无 10 无 无 8086 无 无 JMP 跳转 位移16 $E9 无 无 无 无 10 无 无 8086 无 $66 JMP 跳转 位移32 $E9 无 无 无 无 10 无 无 386 $66 无 JMP 跳转 近 $E9 无 无 无 无 10 无 无 8086 无 $66 JMP 跳转 近 $E9 无 无 无 无 10 无 无 386 $66 无 JMP 跳转 远(数段址:)偏移16 $EA 无 无 无 无 10 无 无 8086 无 $66 JMP 跳转 远(数段址:)偏移32 $EA 无 无 无 无 10 无 无 386 $66 无 JMP 跳转 数段址:偏移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、