freedom_wings4 2017-08-31 09:01 采纳率: 0%
浏览 917

关于汇编的一点问题,求指点

1.指令

     movl  $0,-0x4(%ebp)

是什么意思?把0放入ebp-4的地方吗

2.如下图
图片说明

这图中的指令

 sar $0x1f,%edx

即是把edx的值右移多少位呢?这样做有什么意义?把这指令删去有没影响呢?这段指令是用来求余的

  • 写回答

1条回答 默认 最新

  • 枫舞的季节 2017-08-31 09:34
    关注

    这个汇编是 At&t汇编(也叫GAS - GNU asm),源操作数和目的操作数和intel 汇编是相反的。movl 是四字节的赋值;$0 是表示数字0
    -0x4(%ebp) 就是 [%ebp-04h]
    sar 右移1 就是除2 , sar $0x1f ,%edx 就是 edx 除以 2^15次方了。

    评论

报告相同问题?

悬赏问题

  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面