VM_ProcessorLocalState.emitMoveFieldToReg(asm, JTOC, VM_Entrypoints.jtocField.getOffsetAsInt());
VM_ProcessorLocalState.emitMoveFieldToReg(asm, JTOC, VM_Entrypoints.jtocField.getOffset());
  protected final void emit_lushr() {    if (VM.VerifyAssertions) VM._assert (ECX != T0); // ECX is constrained to be the shift count    if (VM.VerifyAssertions) VM._assert (ECX != T1);    if (VM.VerifyAssertions) VM._assert (ECX != JTOC);    // 1: pop shift amount into JTOC (JTOC must be restored at the end)    // 2: pop low half into T0    // 3: ECX <- JTOC, copy the shift count    // 4: JTOC <- JTOC & 32 --> if 0 then shift amount is less than 32    // 5: branch to step 11 if results is zero    // the result is not zero --> the shift amount is greater than 32    // 6: ECX <- ECX XOR JTOC   --> ECX is orginal shift amount minus 32    // 7: pop high half into T0 replace the low half with the high     //        half.  This accounts for the 32 bit shift    // 8: shift T0 right logical by ECX bits    // 9: T1 <- 0                        T1 is the high half    // 10: branch to step 14    // 11: pop high half into T1    // 12: shift right double from T1 into T0 by ECX bits.  T1 is unaltered    // 13: shift right logical T1, the high half, also by ECX bits    // 14: push high half from T1    // 15: push the low half from T0    // 16: restore JTOC    asm.emitPOP_Reg(JTOC);                // original shift amount 6 bits    asm.emitPOP_Reg(T0);                  // pop low half     asm.emitMOV_Reg_Reg(ECX, JTOC);    asm.emitAND_Reg_Imm(JTOC, 32);    VM_ForwardReference fr1 = asm.forwardJcc(asm.EQ);    asm.emitXOR_Reg_Reg (ECX, JTOC);    asm.emitPOP_Reg (T0);                   // replace low with high    asm.emitSHR_Reg_Reg (T0, ECX);      // and shift it (count - 32)    asm.emitXOR_Reg_Reg (T1, T1);               // high <- 0    VM_ForwardReference fr2 = asm.forwardJMP();    fr1.resolve(asm);    asm.emitPOP_Reg (T1);                   // high half (step 11)    asm.emitSHRD_Reg_Reg_Reg(T0, T1, ECX);          // shift low half    asm.emitSHR_Reg_Reg (T1, ECX);                   // shift high half    fr2.resolve(asm);    asm.emitPUSH_Reg(T1);                   // push high half (step 14)    asm.emitPUSH_Reg(T0);                   // push low half    // restore JTOC    VM_ProcessorLocalState.emitMoveFieldToReg(asm, JTOC, VM_Entrypoints.jtocField.getOffsetAsInt());  }