比较条件跳转指令类似于比较指令和条件跳转指令的结合体,它将比较和跳转两个步骤二合为一。
这里指令有:if_icmped、if_icmpne、if_icmpgt、if_icmple、if_icmpge、if_acmpeq和if_acmpne。其中指令助记符加上"if_"后,以字符"i"开头的指令针对int型整数操作(也包括short和byte类型),以字符"a"开头的指令表示对象引用的比较。
具体说明:
指令 | 说明 |
---|---|
if_icmpeq | 比较栈顶两int类型数值大小,当前者等于后者时跳转 |
if_icmpne | 比较栈顶两int类型数值大小,当前者不等于后者时跳转 |
if_icmplt | 比较栈顶两int类型数值大小,当前者小于后者时跳转 |
if_icmple | 比较栈顶两int类型数值大小,当前者小于等于后者时跳转 |
if_icmpgt | 比较栈顶两int类型数值大小,当前者大于后者时跳转 |
if_icmpge | 比较栈顶两int类型数值大小,当前者大于等于后者时跳转 |
if_acmpeq | 比较栈顶两int类型数值大小,当结果相等时跳转 |
if_acmpne | 比较栈顶两int类型数值大小,当结果不相等时跳转 |
这些指令都接收两个字节的操作数作为参数,用于计算跳转的位置。同时在执行指令时,栈顶需要准备两个元素进行比较。指令执行完成后,栈顶的这两个元素被清空,且没有任何数据入栈。如果预设条件成立,则执行跳转,否则,继续执行下一条语句。
梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。
网友评论