А значение счётчика за вас кто сохранять будет?
Да и в любом случае, прежде чем задавать хоть какие-то вопросы вида "почему не работает" надо открывать самому отладчик и дебажить, отвечая на свой вопрос.
progerstas, после вызова чужих подпрограмм в регистрах может быть мусор. В частности в EAX возвращают результат работы функции. Результаты хранят в памяти или на стеке.
Изучать ASM с нуля вопросами на форумах гиблое дело.