and $0xfffffff0,%esp 将esp和16进制的fffffff0进行与运算,
cmp $0xfffff000,%eax 将fffff000减去eax,但只改变标志位,而不影响两个数的大小,一般CMP指令后面会跟一个跳转指令,也可以说CMP指令是比较指令
neg %ebx 求EBX相反数的补码
nop指令的机器码是90,也就是空指令,不起作用的,sub $0x8,%esp这条指令是用于平衡堆栈的,如楼上所说,你可以当它是空气..有些汇编代码不用刻意去看懂,扫一眼知道是干什么用的就行了,有的就得仔细推敲它的含意和它起的作用
80481d6: 83 e4 f0 and $0xfffffff0,%esp
这一句是进行4字节对齐的,上一句sub esp... 是分配局部变量空间,其大小可能不是整4字节的,那样就会导致后面分配的变量以非4字节对齐的地址存放,导致性能降低,有这一句就好了。你可以当它是空气,不用管。
cmp $0xfffff000,%eax
这个是比较EAX的值是不是0xFFFFF000并置相应标志
汇编语言很复杂,现在很少人学
看后晕了