>[оверквотинг удален] > на переносимость программ между i386 и x86_64(в 64-битном режиме) - в > большинстве случаев даже программы на ASM достаточно просто модифицировать. > Если же посмотреть на x86 и ARM, то это очень разные по > архитектуре, набору регистров и системе комманд процессоры и простой "перекомпиляцией" > ASM вряд ли удастся добиться желаемого результата - программу проще будет > переписать с нуля, чем написать компилятор для "перегенерации" корректного и, главное, > эффективного бинарного ARM-кода на основе бинарного (или ASM, что почти одно > и то же) x86-кода. Ведь речи идет именно о таком коде, > а не "лишь бы работало"? Если "лишь бы работало", то можно > и нативный x86-код в эмуляторе гонять...Я, откровенно говоря, не в курсе, что там было с VAX и Alpha, но идея трактовать ассемблер одной архитектуры, как высокоуровневый язык для генерации машинных кодов другой архитектуры - очень хорошая идея, которая в этой ветке треда и рассматривалась. Разумеется, тема эффективности генерируемого таким образом кода даже не поднималась. Но все-таки, по сравнению с эмулятором, как Вы упомянули, все равно будет быстрее - ибо, как я понимаю, эмулятор ведь параллельно транслирует и выполняет команды, а тут предлагается сразу оттранслировать команды и загружать изначально их, уже на другой платформе.
|