小编hei*_*991的帖子

海湾合作委员会不使用公司

GCC编译器

$ gcc --version
gcc (GCC) 4.8.2
...
Run Code Online (Sandbox Code Playgroud)

不生成inc汇编指令,它实际上可能有用,就像在这个C程序中:

int main(int argc, char **argv)
{
    int sum = 0;
    int i;
    for(i = 0; i < 1000000000L; i++)                     <---- that "i++"
        sum += i;
    return sum;
}
Run Code Online (Sandbox Code Playgroud)

相反,它会生成一条add指令:

0000000000000000 <main>:
   0:   31 d2                   xor    %edx,%edx
   2:   31 c0                   xor    %eax,%eax
   4:   0f 1f 40 00             nopl   0x0(%rax)
   8:   01 d0                   add    %edx,%eax
   a:   83 c2 01                add    $0x1,%edx         <---- HERE
   d:   81 fa 00 ca 9a …
Run Code Online (Sandbox Code Playgroud)

optimization assembly gcc x86-64 gcc4.8

7
推荐指数
1
解决办法
437
查看次数

Les的教学目的?

les集会教学的目的是什么?

为什么我们需要加载es寄存器?本书给出了以下示例:

les    bx, p           ; Load p into ES:BX
mov    es:[bx], al     ; Store away AL
Run Code Online (Sandbox Code Playgroud)

为什么我们需要加载es , bx在这种情况下?

另外我们为什么要用es:[bx]?如果p指向存储器100H,是不能同时esbx100H = 200H( bx+es)?

x86 assembly masm

6
推荐指数
2
解决办法
6148
查看次数

是否有Windows等效的`openat`?

标题几乎说,在Windows上,我可以通过使用类似的东西以某种方式模拟多线程应用程序中的多个工作目录openat吗?

另见这个问题.

winapi

3
推荐指数
1
解决办法
658
查看次数

标签 统计

assembly ×2

gcc ×1

gcc4.8 ×1

masm ×1

optimization ×1

winapi ×1

x86 ×1

x86-64 ×1