Запуск другой программы - Assembler 

У него же есть второй фрагмент, который работает. Он тоже написан неправильно (не все параметры поданы в системный вызов execve). Правда во втором фрагменте нету записи константы 5 в регистр %ecx, что в общем-то тоже могло повлиять. Предположительно, на этом регистре передаётся параметр argv, для которого значение 5 гарантированно некорректно, а вот неинициализированное значение, вероятно, могло привести к тому, что по счастливому стечению обстоятельств в регистре %ecx находилось нечто, что очень похоже на argv. Вполне возможно, что в точке входа в программу на регистре %ecx передаётся именно argv. Но это может быть и envp, что по структуре не сильно отличается от argv

Вернуться к обсуждению:

Запуск другой программы Assembler