VM_ProcessorLocalState.emitMoveFieldToReg(asm, JTOC, VM_Entrypoints.jtocField.getOffsetAsInt());
VM_ProcessorLocalState.emitMoveFieldToReg(asm, JTOC, VM_Entrypoints.jtocField.getOffset());
  protected final void emit_lmul() {    // 0: JTOC is used as scratch registers (see 14)    // 1: load value1.low temp0, i.e., save value1.low    // 2: eax <- temp0 eax is value1.low    // 3: edx:eax <- eax * value2.low (product of the two low halves)    // 4: store eax which is  result.low into place --> value1.low is destroyed    // 5: temp1 <- edx which is the carry of the product of the low halves    // aex and edx now free of results    // 6: aex <- temp0 which is still value1.low    // 7: pop into aex aex <- value2.low  --> value2.low is sort of destroyed    // 8: edx:eax <- eax * value1.hi  (value2.low * value1.hi)    // 9: temp1 += aex    // 10: pop into eax; eax <- value2.hi -> value2.hi is sort of destroyed    // 11: edx:eax <- eax * temp0 (value2.hi * value1.low)    // 12: temp1 += eax  temp1 is now result.hi    // 13: store result.hi    // 14: restore JTOC    if (VM.VerifyAssertions) VM._assert(S0 != EAX);    if (VM.VerifyAssertions) VM._assert(S0 != EDX);    asm.emitMOV_Reg_RegDisp (JTOC, SP, 8);          // step 1: JTOC is temp0    asm.emitMOV_Reg_Reg (EAX, JTOC);            // step 2    asm.emitMUL_Reg_RegInd(EAX, SP);    // step 3    asm.emitMOV_RegDisp_Reg (SP, 8, EAX);           // step 4    asm.emitMOV_Reg_Reg (S0, EDX);              // step 5: S0 is temp1    asm.emitMOV_Reg_Reg (EAX, JTOC);            // step 6    asm.emitPOP_Reg (EAX);                  // step 7: SP changed!    asm.emitIMUL1_Reg_RegDisp(EAX, SP, 8);// step 8    asm.emitADD_Reg_Reg (S0, EAX);      // step 9    asm.emitPOP_Reg (EAX);                  // step 10: SP changed!    asm.emitIMUL1_Reg_Reg(EAX, JTOC);    // step 11    asm.emitADD_Reg_Reg (S0, EAX);      // step 12    asm.emitMOV_RegDisp_Reg (SP, 4, S0);            // step 13    // restore JTOC register    VM_ProcessorLocalState.emitMoveFieldToReg(asm, JTOC, VM_Entrypoints.jtocField.getOffsetAsInt());  }