zoukankan      html  css  js  c++  java
  • 传送填充指令

    **************************************************************************************************

    2、传送—填充指令

    **************************************************************************************************

    传送—填充指令是把位数短的源操作数传送给位数长的目的操作数。指令格式如下:

    MOVSX/MOVZX  Reg/Mem, Reg/Mem/Imm     

    其中:80386+表示80386及其之后的CPU,其它类似符号含义类同,不再说明。

    指令的主要功能和限制与MOV指令类似,不同之处是:在传送时,对目的操作数的高位进行填充。根据其填充方式,又分为:符号填充和零填充。

     

    符号填充指令MOVSX

    MOVSX的填充方式是:用源操作数的符号位来填充目的操作数的高位数据位

     

    零填充指令MOVZX

    MOVZX的填充方式是:恒用0来填充目的操作数的高位数据位

     

    例如,AL=87H,指令MOVSX  CX, AL;MOVZX  DX, AL执行后,问CX和DX的值是什么?

     

    根据传送-填充指令的填充方式可知:

    指令MOVSX CX, AL执行后,(CX)=0FF87H,指令MOVZX DX, AL执行后,(DX)=0087H。

     

     

    从上例可看出,两条指令的源操作数完全一样,但因为它们的填充方式不同,所得到的结果而就不同。

  • 相关阅读:
    [转]Hibernate Session各种状态转换方法分析
    Hibernate3回顾-4-事务和并发管理
    Hibernate3回顾-3-Session管理
    Hibernate3回顾-2-相关概念
    [转]oracle for update和for update nowait的区别
    数组
    Android 调用webservice faultactor 错误
    Java "==和equals区别" 示例
    Java "==和equals区别"
    Java "double字符串转数字"
  • 原文地址:https://www.cnblogs.com/dabiao/p/1953863.html
Copyright © 2011-2022 走看看