Ваш сгенерированный ассемблерный код не содержит цикл (очевидно, компилятор решил, что он не нужен), но, похоже, он содержит некоторые свободные остатки этого цикла. Есть биты, которые загружают 100 в переменную, вычитают 1 из нее, сравнивают ее с 0. Но в коде нет фактической итерации.
Попытка найти какую-то логику в этом - бессмысленное упражнение. Компилятор, очевидно, решил удалить весь цикл. Но почему это оставило некоторый "мусор" позади, не ясно. Я бы сказал, что то, что осталось в коде, безвредно, но в то же время имеет такое же значение, как и значение инициализированной переменной.
Кстати, куда ведет безусловный jmp
? Это не понятно из вашей разборки. Разве он не прыгает сразу на 7?