# 指令

介绍相关指令

# movzx 指令介绍

1. [汇编语言](https://baike.baidu.com/item/%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80/61826)[数据传送](https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E4%BC%A0%E9%80%81/500685)指令MOV的变体。无符号扩展，并传送。
2. movzx一般用于将较小值拷贝到较大值中。 这个指令是非常有用的，大家以后学程序设计的话，如果需要处理windows中的消息，例如[WM\_COMMAND](https://baike.baidu.com/item/WM_COMMAND/5186771)消息，这个消息结构的[wParam](https://baike.baidu.com/item/wParam/6098975)的高16位是通知码，而低16位则是命令id。有时候需要判断命令id的话，则需要将这个[wparam](https://baike.baidu.com/item/wparam/6098975)的低16[位扩展](https://baike.baidu.com/item/%E4%BD%8D%E6%89%A9%E5%B1%95/2548717)成32位的，并且其余位用0填充。这就用到了movzx。
3. 用法 ```
    movzx是将源操作数的内容拷贝到目的操作数，并将该值用0扩展至16位或者32位。但是它只适用于无符号整数。 他大致下面的三种格式。
    movzx 32位通用寄存器, 8位通用寄存器/内存单元
    movzx 32位通用寄存器, 16位通用寄存器/内存单元
    movzx 16位通用寄存器, 8位通用寄存器/内存单元
    
    ```