首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

解释,看不懂

2012-03-09 
求助解释,看不懂谁能帮我详细解释下下面这段汇编是什么意思Assembly code004013EEpush%ebp004013EFmov%esp

求助解释,看不懂

谁能帮我详细解释下下面这段汇编是什么意思

Assembly code
004013EE    push   %ebp004013EF    mov    %esp,%ebp004013F1    sub    $0x18,%esp004013F4    and    $0xfffffff0,%esp004013F7    mov    $0x0,%eax004013FC    add    $0xf,%eax004013FF    add    $0xf,%eax00401402    shr    $0x4,%eax00401405    shl    $0x4,%eax00401408    mov    %eax,-0x14(%ebp)0040140B    mov    -0x14(%ebp),%eax0040140E    call   0x40d104 <_alloca>00401413    call   0x40cc84 <__main>00401418    movl   $0xa,-0x4(%ebp)0040141F    fildl  -0x4(%ebp)00401422    fstpl  -0x10(%ebp)00401425    mov    $0x0,%eax0040142A    leave0040142B    ret


[解决办法]
探讨
Assembly code
0040141F fildl -0x4(%ebp)
00401422 fstpl -0x10(%ebp)


特别是这两句,看不懂

[解决办法]
fildl -0x4(%ebp)
fstpl -0x10(%ebp)

fildl和fstpl应该是80387以后的指令(80387汇编指令未发现),fildl是向st(即浮点数操作堆栈,深度一般为8)栈顶放置一个长(最后一个l)整数(标志i),其值是[ebp-4]单元,若是fld则是装入一个浮点数。
同理,fstpl就是从栈顶弹出一个长整型数,放置在[ebp-10h]这个地方。

热点排行