extern io_get_dec
extern io_print_dec
section .text
global main
reverse:
call io_get_dec
test eax, eax
jz end_recursion
push eax
call reverse
pop eax
call io_get_dec
end_recursion:
ret
main:
call reverse
xor eax, eax
ret
1) Этот код читает последовательность целых чисел с помощью рекурсии и выводит их в обратном порядке, но содержит логическую ошибку, из-за которой он работает не так, как задумано.
2) Подсказки:
- Обрати внимание, что функция `io_get_dec` вызывается дважды: один раз до рекурсивного вызова, а второй раз после. Это приводит к чтению вдвое больше чисел, чем нужно.
- Подумай, как сохранять и восстанавливать значения в правильном порядке, чтобы вывести их в обратном порядке относительно ввода.