diff options
Diffstat (limited to 'vm/mterp/x86/OP_CONST_WIDE_16.S')
-rw-r--r-- | vm/mterp/x86/OP_CONST_WIDE_16.S | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/vm/mterp/x86/OP_CONST_WIDE_16.S b/vm/mterp/x86/OP_CONST_WIDE_16.S new file mode 100644 index 0000000..03270dc --- /dev/null +++ b/vm/mterp/x86/OP_CONST_WIDE_16.S @@ -0,0 +1,12 @@ +%verify "executed" + /* const-wide/16 vAA, #+BBBB */ + movswl 2(rPC),%eax # eax<- ssssBBBB + SPILL(rPC) + movzbl rINST_HI,%ecx # ecx<- AA + FETCH_INST_WORD(2) + cltd # rPC:eax<- ssssssssssssBBBB + SET_VREG_WORD(rPC,%ecx,1) # store msw + UNSPILL(rPC) + SET_VREG_WORD(%eax,%ecx,0) # store lsw + ADVANCE_PC(2) + GOTO_NEXT |