白Piao才香 2019-03-02 23:30 采纳率: 33.3%
浏览 588
已采纳

汇编语言指令问题? ? ?

mov eax,22h
mov ebx,45h
shld eax,ebx,32
执行后发现eax的值还是22h,怎么回事。
移位是8、16的话eax都会改变的,怎么32就不变了呢?

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-03-02 23:35
    关注

    eax是32bit的,你移动32位应该溢出了。
    你是x64的话,可以用 rax rbx 等64位寄存器。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 白Piao才香 2019-03-03 10:09
    关注

    百科了一下双精度移位。
    移位计数值的范围为1到31,对于大于31的数,机器则自动取模32的值来取代。

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 OpenFOAM多孔介质传热模型建模
  • ¥15 QT 实现 RSTP 语音对讲功能
  • ¥50 AES魔改之后的安全性关于PRF(相关搜索:密码学)
  • ¥15 用C语言写的一个程序遇到了两个问题第一是偏移正确但读取不到坐标,第二个问题是自己定义的函数实现不了获取指定进程模块。
  • ¥15 在安装Anaconda时总是闪退怎么办?
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥500 抖音主页视频预存加载卡bug