の最大を見つける私は、2つの値議会は2つの値
_FindMax:
push ebp
mov ebp, esp
mov eax, dword [ebp+12] ; get fist argument
mov ebx, dword [ebp+8] ; get second argument
cmp eax, ebx
jl LESS ; if eax less to LESS
LESS:
mov eax, ebx ; ebx is greate and return it
mov esp, ebp
pop ebp
ret
間の最大値を見つけようとしているが、問題はLESSことです:ラベルは常に実行されています。たとえば、パラメータがLESSと等しければ、ラベルが実行されています。なぜ??
ブランチが作成されていない場合、コードは自動的にLESSに実行されます。 – Tommylee2k
"less"が真でないとき( 'jl'がジャンプしていないとき)、何を実行すると思いますか? BTWでは、条件付き 'cmovCC'を使うこともできます。この場合、' cmovl eax、ebx'は分岐せずに解決します。 – Ped7g
ありがとうございます。問題が解決しました。 – Alatriste