Не знаю, имеет ли это какое-либо значение (я только посмотрел на этот вопрос, потому что в названии было 68000 ...!), Но вы, кажется, здесь найдете информацию о разработке Mac:
http://developer.apple.com/legacy/mac/library/documentation/macos8/mac8.html
(Гипотеза: данные argv
вполне могут находиться в стеке. Очевидный способ разбить командную строку на части - начать с конца, а не с начала. Пройдите командную строку назад (используя -(An)
режим адресации) и таким образом находите фрагменты. Это может немного усложнить ситуацию, но 68000 может сравнивать непосредственные значения с памятью, так что нет проблем с поиском \ и т.п. (если Mac OS делает это). начало фрагмента найдено, поместите его адрес в стек - возможно, у вас есть удобный старт (из-за предопределения), но PEA
сделает это легко в любом случае - и вставьте 0 в его конец, чтобы завершить После того, как все указатели были нажаты, загрузчик может сделать MOVEA.L A7,-(A7)
или PEA A7
, чтобы нажать указатель argv
.
(Это, вероятно, сработало бы неплохо, если бы вы его закодировали, и поэтому меня не удивит, если бы это был действительно выбранный подход.)