asm.emitMOVZX_Reg_RegIdx_Word(T1, S0, T0, asm.SHORT, NO_SLOT);
asm.emitMOVZX_Reg_RegIdx_Word(T1, S0, T0, VM_Assembler.SHORT, NO_SLOT);
  protected final void emit_caload() {    asm.emitMOV_Reg_RegDisp(T0, SP, NO_SLOT);                      // T0 is array index    asm.emitMOV_Reg_RegDisp(S0, SP, ONE_SLOT);                      // S0 is the array ref    genBoundsCheck(asm, T0, S0);                             // T0 is index, S0 is address of array    asm.emitADD_Reg_Imm(SP, WORDSIZE*2);                     // complete popping the 2 args    asm.emitMOVZX_Reg_RegIdx_Word(T1, S0, T0, asm.SHORT, NO_SLOT); // load halfword without sign extend to a 32 bit word    asm.emitPUSH_Reg(T1);                                    // push char onto stack  }