Да я снова в деле. возвращаются значения в EAX, сравнить можно тоже несколькими вариантами: 1. Сравниваем регистр с числом.
cmp eax, -1
je error_exisist
2. Увеличиваем eax на единицу и тестим, если 0, то функция вернула ошибку:
inc eax
test eax, eax
je error_exisist
3. Делаем тоже самое, что и во 2 варианте, только применяем логическое или:
inc eax
or eax, eax
je error_exisist
Для подробностей читайте абеля: http://fasm.moy.su/load/4-1-0-20