{{{~cpp 
int i=123;
i-=4;

    movl    $123, -4(%ebp)
    leal    -4(%ebp), %eax
    subl    $4, (%eax)

}}}


이것을 나는
movl    $123, -4(%ebp)
subl    $4, -4(%ebp)
이렇게 구현했는데 GNU Compiler는 %eax에 포인터를 넘겨줘 그것을 가지고 계산을 한다.
왜 그럴까?