asm.emitMOV_Reg_RegDisp(T0, SP, 4); asm.emitMOV_Reg_RegDisp(S0, SP, 8);
asm.emitMOV_Reg_RegDisp(T0, SP, ONE_SLOT); asm.emitMOV_Reg_RegDisp(S0, SP, TWO_SLOTS);
  protected final void emit_castore() {    VM_Barriers.compileModifyCheck(asm, 8);    asm.emitMOV_Reg_RegDisp(T0, SP, 4);                   // T0 is array index    asm.emitMOV_Reg_RegDisp(S0, SP, 8);                   // S0 is the array ref    genBoundsCheck(asm, T0, S0);                          // T0 is index, S0 is address of array    asm.emitMOV_Reg_RegDisp(T1, SP, 0);                   // T1 is the char value    asm.emitMOV_RegIdx_Reg_Word(S0, T0, asm.SHORT, 0, T1);// store halfword element into array i.e. [S0 +T0] <- T1 (halfword)    asm.emitADD_Reg_Imm(SP, WORDSIZE*3);                  // complete popping the 3 args  }