码迷,mamicode.com
首页 > 其他好文 > 详细

虚拟机比较指令

时间:2018-08-12 12:13:48      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:bsp   等于   ima   有一个   sharp   com   highlight   src   img   

 




ifeq = 153,// 0x99	ifeq	当栈顶int型数值等于0 时跳转
ifne = 154,// 0x9a	ifne	当栈顶int型数值不等于0 时跳转
iflt = 155,// 0x9b	iflt	当栈顶int型数值小于0 时跳转
ifge = 156,// 0x9c	ifge	当栈顶int型数值大于等于0 时跳转
ifgt = 157,// 0x9d	ifgt	当栈顶int型数值大于0 时跳转
ifle = 158,// 0x9e	ifle	当栈顶int型数值小于等于0 时跳转

  

if_icmpeq = 159,// 0x9f	if_icmpeq	比较栈顶两int型数值大小,当结果等于0 时跳转
if_icmpne = 160,// 0xa0	if_icmpne	比较栈顶两int型数值大小,当结果不等于0 时跳转
if_icmplt = 161,// 0xa1	if_icmplt	比较栈顶两int型数值大小,当结果小于0 时跳转
if_icmpge = 162,// 0xa2	if_icmpge	比较栈顶两int型数值大小,当结果大于等于0 时跳转
if_icmpgt = 163,// 0xa3	if_icmpgt	比较栈顶两int型数值大小,当结果大于0 时跳转
if_icmple = 164,// 0xa4	if_icmple	比较栈顶两int型数值大小,当结果小于等于0 时跳转
if_acmpeq = 165,// 0xa5	if_acmpeq	比较栈顶两引用型数值,当结果相等时跳转
if_acmpne = 166,// 0xa6	if_acmpne	比较栈顶两引用型数值,当结果不相等时跳转

  

if_acmp_null = 198,// 0xc6	ifnull	为null时跳转
if_acmp_nonnull = 199,// 0xc7	ifnonnull	不为null时跳转

 

如上的一些指令有一点规律:

(1)相对应的一对指令的编码是相邻的,如ifeq和ifne的编码是153和154
(2)较小的指令编码是奇数,例如153
只有一个例外就是ifnull和ifnonnull编码分别是198和199,不满足第二个条件  

 

技术分享图片

技术分享图片

技术分享图片

 

技术分享图片

技术分享图片

 

技术分享图片

技术分享图片

 

虚拟机比较指令

标签:bsp   等于   ima   有一个   sharp   com   highlight   src   img   

原文地址:https://www.cnblogs.com/extjs4/p/9462039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!