> Как и написано выше - трактовать вышеобозначенный x86-ассемблер, как язык высокого уровня, и заменять специфичные для x86 команды блоками команд arm.Хорошая тема для разработки ИИ... Одну и ту же операцию как правило можно сделать 100500 различными способами.
Еще раз: программируем, допустим, PC-speaker. Так, тупо для примера. Можно через PIT. Можно напрямую через порт. Будете весь PIT эмулировать "командами ARM"?
Или DMA. Или memory-mapped area через системные регистры. Или, что самоё зачётное - видеоадаптер :) Современные видеоадаптеры настолько рутинны в программировании, что драйверок под них именно на ассемблере написать, да еще и без использования вендорского API, который не на ассемблере - уже Задача. Не, можно конечно через VideoBIOS видеорежим шифтнуть, и писать в фреймбуфер - но это полное отсутствие акселерации блитов и прочего. Ну и где вы еще на ARM аналог биоса для этого возьмёте?
Утопия, короче. Без ручного портирования не выйдет.
Не согласны? Проэмулируйте мне это на ARM с учетом особенностей x86:
in al,21h
and al,0FEh
out 21h,al
Простой блок, казалось бы. А если я его вот так запишу:
in al,21h
mov ah,1
xor ah,0FFh
and al,ah
out 21h,al
Усложнять можно до бесконечности. Ваш анализ "блоков" съедет достаточно быстро.