/
/
unsigned
int
code
/
/
Bit_28_State
=
code &
0x10000000
;
/
/
Bit_29_State
=
code &
0x20000000
;
/
/
Bit_30_State
=
code &
0x40000000
;
/
/
v17
=
(code >>
11
) &
2
| (code >>
31
) | (code >>
11
) &
4
| (code >>
11
) &
8
| (code >>
11
) &
0x10
;
/
/
提取第
31
位 提取第
12
,
13
,
14
,
15
位 组合
/
/
/
/
[
15
,
14
,
13
,
12
,
31
]
/
/
sourceREG
=
(code >>
21
) &
0x1F
;
/
/
取第
22
=
>
26
的值
/
/
/
/
[
26
,
25
,
24
,
23
,
22
]
/
/
destREG
=
HIWORD(code) &
0x1F
;
/
/
取
17
>
21
位
/
/
/
/
[
21
,
20
,
19
,
18
,
17
]
/
/
Bit_31_State
=
code &
0x80000000
;
/
/
Bit_30_State_1
=
code &
0x4000000
;
/
/
Bit_31_State_1
=
code &
0x8000000
;
var
type
=
code.
and
(
0x3f
)
var code
=
this.vm_handles
var sourceREG
=
code.shr(
21
).
and
(
0x1F
)
var destREG
=
code.shr(
16
).
and
(
0x1F
)
var Bit_28_State
=
code.
and
(
0x10000000
)
var Bit_29_State
=
code.
and
(
0x20000000
)
var Bit_30_State
=
code.
and
(
0x40000000
)
var Bit_31_State
=
code.
and
(
0x80000000
)
var Bit_30_State_1
=
code.
and
(
0x4000000
)
var Bit_31_State_1
=
code.
and
(
0x8000000
)
var intv17
=
code.toUInt32()
var v17
=
(intv17 >>>
11
) &
2
| (intv17 >>>
31
) | (intv17 >>>
11
) &
4
| (intv17 >>>
11
) &
8
| (intv17 >>>
11
) &
0x10
let opcode
=
code.
and
(
0xF000
).
or
(Bit_30_State_1.shr(
20
)).
or
(code.shr(
6
).
and
(
0x3F
)).
or
(Bit_31_State_1.shr(
20
)).
or
(Bit_28_State.shr(
20
)).
or
(Bit_29_State.shr(
20
)).
or
(Bit_30_State.shr(
20
)).
or
(Bit_31_State.shr(
20
))