1 .source all_opcodes.java 2 .class public dasm.test.all_opcodes 3 .super java/lang/Object 4 .implements java/lang/Runnable 5 6 .field public pub_field I 7 .field public static static_field J 8 9 .method public <init>()V 10 return-void 11 .end method 12 13 .method public run()I 14 .throws java/lang/NullPointerException 15 .limit regs 4 16 nop 17 move v1, v2 18 move/from16 v11, v222 19 move/16 v111, v222 20 move-wide v1, v2 21 move-wide/from16 v11, v222 22 move-wide/16 v111, v222 23 move-object v1, v2 24 move-object/from16 v11, v222 25 move-object/16 v111, v222 26 move-result v11 27 move-result-wide v11 28 move-result-object v11 29 move-exception v11 30 return-void 31 return v11 32 return-wide v11 33 return-object v11 34 const/4 v1, 1 35 const/16 v11, 0x1234 36 const v11, 0x12345678 37 const/high16 v11, 0x12340000 38 const-wide/16 v11, 0x1234 39 const-wide/32 v11, 0x12345678 40 const-wide v11, 3.1415 41 const-wide/high16 v11, 0x1234000000000000 42 const-string v11, "abc" 43 const-string/jumbo v11, "abcd" 44 const-class v11, java/lang/Object 45 monitor-enter v11 46 monitor-exit v11 47 check-cast v11, java/lang/Object 48 instance-of v1, v2, java/lang/Object 49 array-length v1, v2 50 new-instance v11, java/lang/Object 51 new-array v1, v2, java/lang/Object 52 filled-new-array {v1, v2, v3, v4, v5}, I 53 filled-new-array/range {v3..v7}, D 54 fill-array-data v11 I 55 1 56 2 57 3 58 4 59 fill-array-data-end 60 throw v11 61 goto $+1 62 goto/16 Label1 63 Label1: 64 goto/32 Label2 65 Label2: 66 packed-switch v11, 1 67 Label1 68 Label3 69 packed-switch-end 70 Label3: 71 sparse-switch v11 72 1 : Label2 73 33 : Label4 74 sparse-switch-end 75 Label4: 76 77 cmpl-float v11, v22, v33 78 cmpg-float v11, v22, v33 79 cmpl-double v11, v22, v33 80 cmpg-double v11, v22, v33 81 cmp-long v11, v22, v33 82 if-eq v1, v2, Label1 83 if-ne v1, v2, $+1 84 if-lt v1, v2, Label1 85 if-ge v1, v2, $-1 86 if-gt v1, v2, Label1 87 if-eqz v11, Label1 88 if-nez v11, $+1 89 if-ltz v11, Label1 90 if-gez v11, $+1 91 if-gtz v11, Label1 92 if-lez v11, $-1 93 aget v11, v22, v33 94 aget-wide v11, v22, v33 95 aget-object v11, v22, v33 96 aget-boolean v11, v22, v33 97 aget-byte v11, v22, v33 98 aget-char v11, v22, v33 99 aget-short v11, v22, v33 100 aput v11, v22, v33 101 aput-wide v11, v22, v33 102 aput-object v11, v22, v33 103 aput-boolean v11, v22, v33 104 aput-byte v11, v22, v33 105 aput-char v11, v22, v33 106 aput-short v11, v22, v33 107 iget v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 108 iget-wide v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 109 iget-object v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 110 iget-boolean v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 111 iget-byte v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 112 iget-char v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 113 iget-short v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 114 iput v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 115 iput-wide v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 116 iput-object v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 117 iput-boolean v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 118 iput-byte v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 119 iput-char v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 120 iput-short v1, v2, dxc.junit.opcodes.nop.jm.T_nop_1.pub_field I 121 sget v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 122 sget-wide v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 123 sget-object v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 124 sget-boolean v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 125 sget-byte v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 126 sget-char v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 127 sget-short v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 128 sput v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 129 sput-wide v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 130 sput-object v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 131 sput-boolean v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 132 sput-byte v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 133 sput-char v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 134 sput-short v1, dxc.junit.opcodes.nop.jm.T_nop_1.static_field I 135 136 invoke-virtual {v1}, java/lang/Math/sqrt(D)D 137 invoke-super {v1}, java/lang/Math/sqrt(D)D 138 invoke-direct {v1}, java/lang/Math/sqrt(D)D 139 invoke-static {v1}, java/lang/Math/sqrt(D)D 140 ;invoke-interface {v1}, java/lang/Math/sqrt(D)D 141 142 invoke-virtual/range {v1..v4}, java/lang/Math/sqrt(D)D 143 invoke-super/range {v1..v4}, java/lang/Math/sqrt(D)D 144 invoke-direct/range {v1..v4}, java/lang/Math/sqrt(D)D 145 invoke-static/range {v1..v4}, java/lang/Math/sqrt(D)D 146 ;invoke-interface/range {v1..v4}, java/lang/Math/sqrt(D)D 147 148 neg-int v1, v2 149 not-int v1, v2 150 neg-long v1, v2 151 not-long v1, v2 152 neg-float v1, v2 153 neg-double v1, v2 154 int-to-long v1, v2 155 int-to-float v1, v2 156 int-to-double v1, v2 157 long-to-int v1, v2 158 long-to-float v1, v2 159 long-to-double v1, v2 160 float-to-int v1, v2 161 float-to-long v1, v2 162 float-to-double v1, v2 163 double-to-int v1, v2 164 double-to-long v1, v2 165 double-to-float v1, v2 166 int-to-byte v1, v2 167 int-to-char v1, v2 168 int-to-short v1, v2 169 add-int v11, v22, v33 170 sub-int v11, v22, v33 171 mul-int v11, v22, v33 172 div-int v11, v22, v33 173 rem-int v11, v22, v33 174 and-int v11, v22, v33 175 or-int v11, v22, v33 176 xor-int v11, v22, v33 177 shl-int v11, v22, v33 178 shr-int v11, v22, v33 179 ushr-int v11, v22, v33 180 add-long v11, v22, v33 181 sub-long v11, v22, v33 182 mul-long v11, v22, v33 183 div-long v11, v22, v33 184 rem-long v11, v22, v33 185 and-long v11, v22, v33 186 or-long v11, v22, v33 187 xor-long v11, v22, v33 188 shl-long v11, v22, v33 189 shr-long v11, v22, v33 190 ushr-long v11, v22, v33 191 add-float v11, v22, v33 192 sub-float v11, v22, v33 193 mul-float v11, v22, v33 194 div-float v11, v22, v33 195 rem-float v11, v22, v33 196 add-double v11, v22, v33 197 sub-double v11, v22, v33 198 mul-double v11, v22, v33 199 div-double v11, v22, v33 200 rem-double v11, v22, v33 201 add-int/2addr v1, v2 202 sub-int/2addr v1, v2 203 mul-int/2addr v1, v2 204 div-int/2addr v1, v2 205 rem-int/2addr v1, v2 206 and-int/2addr v1, v2 207 or-int/2addr v1, v2 208 xor-int/2addr v1, v2 209 shl-int/2addr v1, v2 210 shr-int/2addr v1, v2 211 ushr-int/2addr v1, v2 212 add-long/2addr v1, v2 213 sub-long/2addr v1, v2 214 mul-long/2addr v1, v2 215 div-long/2addr v1, v2 216 rem-long/2addr v1, v2 217 and-long/2addr v1, v2 218 or-long/2addr v1, v2 219 xor-long/2addr v1, v2 220 shl-long/2addr v1, v2 221 shr-long/2addr v1, v2 222 ushr-long/2addr v1, v2 223 add-float/2addr v1, v2 224 sub-float/2addr v1, v2 225 mul-float/2addr v1, v2 226 div-float/2addr v1, v2 227 rem-float/2addr v1, v2 228 add-double/2addr v1, v2 229 sub-double/2addr v1, v2 230 mul-double/2addr v1, v2 231 div-double/2addr v1, v2 232 rem-double/2addr v1, v2 233 add-int/lit16 v1, v2, 0x1234 234 rsub-int v1, v2, 0x1234 235 mul-int/lit16 v1, v2, 0x1234 236 div-int/lit16 v1, v2, 0x1234 237 rem-int/lit16 v1, v2, 0x1234 238 and-int/lit16 v1, v2, 0x1234 239 or-int/lit16 v1, v2, 0x1234 240 xor-int/lit16 v1, v2, 0x1234 241 add-int/lit8 v1, v2, 0x12 242 rsub-int/lit8 v1, v2, 0x12 243 mul-int/lit8 v1, v2, 0x12 244 div-int/lit8 v1, v2, 0x12 245 rem-int/lit8 v1, v2, 0x12 246 and-int/lit8 v1, v2, 0x12 247 or-int/lit8 v1, v2, 0x12 248 xor-int/lit8 v1, v2, 0x12 249 shl-int/lit8 v1, v2, 0x12 250 shr-int/lit8 v1, v2, 0x12 251 ushr-int/lit8 v1, v2, 0x12 252 253 .catch java/lang/Exception from Label1 to Label2 using Label3 254 .end method 255 256 .source test_interface.java 257 .interface public dasm.test.interface.test_interface 258 259 .method public native test()V 260 .end method