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

1.指令

     movl  $0,-0x4(%ebp)

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

2.如下图
图片说明

这图中的指令

 sar $0x1f,%edx

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

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