アセンブラ… (*´д`*)アハァ…
■ このスレッドは過去ログ倉庫に格納されています
0719デフォルトの名無しさん
NGNGvoid f();
int g(int a, int b)
{
if ( (a -= b) > 0 ) f();
return a;
}
これについて、Borland C++ 5.5.1 で bcc32 -S -O2 -6 test.cpp の場合
push ebp
mov ebp,esp
push ebx
mov ebx,dword ptr [ebp+8]
;
;{
; if ( (a -= b) > 0 ) f();
;
sub ebx,dword ptr [ebp+12]
test ebx,ebx
jle short @2
call @@f$qv
; return a;
@2:
mov eax,ebx
;}
sub の時点でのフラグを使えば test をするまでもないと
疑問に思ったのですが、どうなんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています