movzx means move with zero extend. Since ax is 16 bit and a2 is 32bit it will move ax into a2 by putting zeros in front of the value. If ax = 0xFF, a2 would be 0x00FF.