реклама на сайте
подробности

 
 
> Перевод PC ассемблера в ARM ассемблер.
Oleg_IT
сообщение Feb 1 2011, 06:36
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Есть много полезного кода написанного на ассемблере PC под Watcom. Есть чистый ассемблер, есть ассемблерные вставки, например:
Код
int INDEX_BACKWARD(int,int);
#pragma aux INDEX_BACKWARD parm [eax] [ebx] = \
    "sub  eax,2"                              \
    "add  eax,ebx"                            \
    "cdq"                                     \
    "idiv ebx"                                \
modify [edx]                                  \
value [edx]                                  ;


Переводить всё это в ручную на ассемблер ARM можно, но долго и муторно. Может сочинили программку, которая это автоматически делает.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Feb 8 2011, 17:03
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Автоматический перевод с ассемблера одной архитектуры (ИА-32 в данном случае) на ассемблер другой (АРМ) технически возможен и даже не шибко сложен. Однако качество полученного кода будет отвратительным, ведь ручное программирование на ассемблере даёт выигрыш как раз за счёт того, что человек учитывает всякие мелкие детали и особенности конкретной архитектуры, ну а программа-переводилка это сделать не в состоянии в принципе: она ж не знает, что данный код делает, она может лишь тупо переводить одни команды в другие, в лучшем случае -- учитывать некоторые побочные моменты (учёт коих, кстати, резко повысит сложность переводилки).

В общем, если производительность критически важна, придётся писать вручную, без этого никак.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016