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