Меня попросили создать простой цикл на языке ассемблера, но у меня возникли проблемы, поскольку цикл не заканчивается, когда он должен, он продолжается в бесконечном цикле.
Мне нужно дать ECX переменную, которая берется входными данными, но в моем коде ниже, даже когда я указываю счетчик напрямую, он все равно попадает в бесконечный цикл.
Мой код здесь (ОБНОВЛЕНО):
Код PasteBin
Код может содержать ошибки, отличные от фактического цикла.
// Отредактировано для объяснения требований к программам ...
Программа должна принять вход "n", который будет использоваться в качестве счетчика для цикла. Затем я беру на входе «n» больше чисел, когда число положительное, мне нужно добавить это к переменной postot, а когда отрицательное, мне нужно добавить это к переменной negatot. После ввода «n» чисел я печатаю результаты для каждой переменной и программа завершается.
Редактировать 2:
Исправлена проблема зацикливания путем правильной очистки стека, поэтому я добавил:
add esp,8
и
next: push ecx
...
pop ecx
loop next
Что исправило проблему с циклом.