Что эффективней: inc eax или add eax,1?
Начал изучать ассемблер, знаю C/C++. Поэтому решил отталкиваться от знаний, которые уже есть, и начал дизассемблировать мною написанный код и смотреть как что устроено.
И сразу же наткнулся на нелогичный момент.
Если в ассемблере есть функция увеличения значения аргумента inc eax
, то она должна отличаться от прибавления 1 к регистру путем add eax,1
.
Я обычно предполагал, что если есть отдельные такие функции, то они эффективнее...
но если смотреть код i++
:
mov eax,dword ptr [i]
add eax,1
mov dword ptr [i],eax
Что лучше использовать: inc
или add
в таком случае?
P.S. Использую Visual Studio 2008.