movzb[wl] r/m8, reg[16|32] movzwl r/m16, reg32
SignExtend(SRC) -> DEST
movzx reads the contents of the register or effective address as a word or byte. movzx then sign-extends the 16- or 32-bit value to the operand-size attribute of the instruction. The result is stored in the destination register by movzx.