Алексей1153++, нет там же di - это индекс для адресации.
У меня вот вопрос, а что программа вообще должна делать? Потому как она печатает в цикле все символы кроме '0', а если '0' случайно попался, то она сравнивает его с пробелом, ну и поскольку пробелу он не равен, возвращается в цикл и читает следующий символ.
Так что все правильно: бесконечный цикл, выводящий содержимое памяти, начиная с некоторого адреса. Учитывая скорость работы процессора, ты даже не успеваешь заметить обработку своей строки и видишь кракозябры, а так как выхода из цикла нет, то кракозябры нельзя остановить.
Ой, прочитал сверху поста задание... Так что вопрос о том, что она должна делать снимается. Но теперь ты знаешь, что она делает на самом деле, остается только поправить