Для x86, по крайней мере, возвращаемое значение этой функции должно быть в регистре eax
. Все, что было там, будет считаться возвращаемым значением вызывающего абонента.
Поскольку eax
используется как регистр возврата, он часто используется как регистр «царапины» по вызову, потому что его не нужно сохранять. Это означает, что очень возможно, что он будет использоваться как любая из локальных переменных. Поскольку оба они равны в конце, более вероятно, что правильное значение останется в eax
.