ADD在asm中的奇怪行为

时间:2018-02-25 05:09:10

标签: c gcc x86 inline-assembly

此代码的输出:

storageStats

是这样的:

> var d = db.temp.aggregate({$collStats:{storageStats: {}}}).pretty()
> d.forEach(d => print(d.storageStats.size/1024/1024))
0.00030517578125
> 

但它应该是这样的:

int i=0;
while(i<5)
    {
    asm volatile
        (
        "addl $1,%0"
        :"=r"(i)
        :
        :"memory"
        );
    printf("%d\n",i);
    }

为什么会这样?我似乎无法理解问题所在。

0 个答案:

没有答案