Я использовал встроенную команду «otool» Apple с переключателями «-Vvtd», чтобы выгрузить двоичный файл Mach-O i386, перенаправленный в файл .s. Я безуспешно пытался использовать сборщики nasm и GAS для перекомпиляции кода на машине PPC («как» -библиотеку в каталоге i386 gcc/darwin и «as» -binary в каталоге ppc). Выход читает что-то вроде:Сбросить код сборки i386 и перекомпилировать как PPC?
some_topmost_label:
(__TEXT,__text) section
_default_pager:
00112000 pushl %ebp
00112001 movl %esp,%ebp
00112003 pushl %edi
00112004 pushl %esi
00112005 pushl %ebx
00112006 subl $0x3c,%esp
00112009 movl _default_pager_internal_count,%ebx
0011200f addl _default_pager_external_count,%ebx
00112015 leal 0x00000004(,%ebx,4),%ebx
Существует раздел данных, а также, как происходит:
...
(__DATA,__data) section
00421000 02 00 00 00 04 00 00 00 00 40 00 00 28 64 65 66
...
00449bc0 50 00 3d 00 00 00 00 00 00 00 00 00 00 00 00 00
00449bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
.. .
Я намерен запустить двоичный в Mac на PPC, следовательно, перекомпиляция усилий; Я попытался удалить адреса в крайнем левом столбце, чтобы сделать синтаксис более «AT & T» -стилем, оставив их и т. Д. Я НЕ хочу делать какие-либо изменения в существующей структуре кода (это не совсем обратное проектирование усилие, как таковое, только некоторые настройки). Однако, если мне нужно сделать какое-либо редактирование, мне бы очень хотелось, чтобы это было строго для того, чтобы создать существующий, неподдельный код для запуска i386, как на PPC.
Я буду очень благодарен за вашу помощь.
С уважением
Вы не можете запустить код i386 изначально на ppc. Вам понадобится эмулятор. – Jester
«Совет подсказок - этот код - эмуляция процессора». Я хотел бы, пожалуйста, знать, могут ли эти команды сборки ... «pushl» «movl» и т. Д. Сформировать исполняемый файл с правильным ассемблером на PPC. Благодарю. – BigSum
Кроме того, теперь это исходный код как .s-файл. Так что все идет. – BigSum