|
|
  |
Перевод PC ассемблера в ARM ассемблер. |
|
|
|
Feb 1 2011, 06:36
|
Знающий
   
Группа: Свой
Сообщений: 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 можно, но долго и муторно. Может сочинили программку, которая это автоматически делает.
|
|
|
|
|
Feb 1 2011, 13:54
|

Профессионал
    
Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877

|
Цитата(Oleg_IT @ Feb 1 2011, 09:36)  Может ... программку, которая ... автоматически ... Есть такие программки. "Компилятор языка Си" называются. Работают они хорошо. Во всяком случае, я на ассемблере пишу гораздо хуже ;-) А программок, которые с одного ассемблера переводила в другой, и при этом учитывала фишки нового процессора и как-то обходила отсутствующие фишки старого, нету, и, скорее всего, не будет.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
|
Feb 8 2011, 17:03
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414

|
Автоматический перевод с ассемблера одной архитектуры (ИА-32 в данном случае) на ассемблер другой (АРМ) технически возможен и даже не шибко сложен. Однако качество полученного кода будет отвратительным, ведь ручное программирование на ассемблере даёт выигрыш как раз за счёт того, что человек учитывает всякие мелкие детали и особенности конкретной архитектуры, ну а программа-переводилка это сделать не в состоянии в принципе: она ж не знает, что данный код делает, она может лишь тупо переводить одни команды в другие, в лучшем случае -- учитывать некоторые побочные моменты (учёт коих, кстати, резко повысит сложность переводилки).
В общем, если производительность критически важна, придётся писать вручную, без этого никак.
|
|
|
|
|
Feb 9 2011, 10:27
|
Знающий
   
Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709

|
Цитата(sergeeff @ Feb 8 2011, 21:52)  Несколько раз уже писал, ссылаясь на опыт серъезных программистов, что нельзя заранее оптимизировать свои программы. Надо сначала сделать ее работоспособной, а потом уже, выяснив узкие места, рассмотретъ ВСЕ ВОЗМОЖНОСТИ по ее доводки до ума.
Для начала написать программу под ARM на чистом С. А я не говорю что "заранее оптимизировать свои программы". Этому коду, который написам на ASMе и, чистично, на С уже лет 15. Он уже на столько отработан, что в нём очень мало ошибок  Наверное всё же придется делать всё на С, может на первое время.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|