Flexible Assembler

Тема в разделе "WASM.HEAP", создана пользователем osrootd, 14 янв 2009.

  1. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Хочу мнение узнать:
    На sf.net нашел эту штуковину.

    FX Asm - это ассемблер, в котором можно менять синтаксис как тебе угодно будет. Любую команду на что хочешь.
    Или даже блок команд.

    Я у себя сделал вместо mov eax, число
    eax=число :)

    а вместо конструкции

    cmp esi, 0
    je esi_is_zero

    пишу теперь
    esichck esi_is_zero

    то есть добавил свою команду на целый блок.

    Кто что думает о перспективах такого творения?
     
  2. meduza

    meduza New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    212
    osrootd
    это называется макросы ;)
     
  3. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Неее. Макросы с этим не путать!

    Скачай и посмотри:)
    Там есть MNEMONIC.CFG -- это можно назвать макросами, а вот PARSER_SPEC -- это уже нечто иное.
    Есть в архиве с прогой примеры ассемблеров с AT&T, Intel синтаксисами ( измененный FXAsm)
     
  4. trash_master

    trash_master New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    319
    Адрес:
    Україна
    osrootd
    и чо, проца он тоже твои команды заставит выполнять ? толку с него ноль, гдето на васме помниццо видел русификатор для фасма - аналогичное макросное творение
     
  5. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Да нее,
    Опкоды можно задавать для команд. Или соотв. прописывать.
     
  6. HuXTUS

    HuXTUS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2007
    Сообщения:
    240
    В отладчике код будет выглядеть непривычно. И вообще, имхо, все подобные поделки - от лукавого.
     
  7. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    osrootd
    Хоть бы прямую ссылку привёл :)

    HuXTUS
    Я бы с удовольствием заменил синтаксис Atmel AVR ассемблера на привычный и имхо намного более удобный Intel x86 синтаксис, хотя FX Asm вряд-ли это сможет.
     
  8. Clear_Energy

    Clear_Energy Алексей

    Публикаций:
    0
    Регистрация:
    3 ноя 2008
    Сообщения:
    375
    osrootd
    Да будет Си! =)
    Интересно, его в си синтаксис переделать можно? ))

    А вообще, интересная идея, на досуге побалуюсь ))
     
  9. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    а ничо что там гарвардская архитектура?
     
  10. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Freeman
    я имею в виду mov, sub, jcc и т.п. 100% замена конечно не получится, но сделать код более читаемым чем их ld/ldi, sbiw, brne и т.п. имхо очень даже можно ;)
     
  11. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    mov врятле получится, а остальное - вполне :) синтаксис там и вправду не оч. у меня у самого в .inc файлеке
    Код (Text):
    1. .def    AL      = r16
    2. .def    AH      = r17
    3. .def    BL      = r18
    4. .def    BH      = r19
     
  12. exst

    exst New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2009
    Сообщения:
    91
    Извращенец...
     
  13. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Freeman
    гы-гы как раз регистры так переобозначать неинтересно они в отлчие от команд вполне симпатичны сами по себе, а если уж переобозначать их то во что нибудь типа
    .def Temp_1 = r16
    .def Time_Lo = r24 ; Счётчик времени старший и младший байты
    .def Time_Hi = r25
    А вот синтаксис команд сильно пестрит в глазах :) поскольку "не такой" и намного больше похож на AT&T.
     
  14. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    хотел бы глянуть, да гугл скрывает
     
  15. trash_master

    trash_master New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    319
    Адрес:
    Україна
    Y_Mur
    ну от человека с таким стажем не ожидал .. даже полный нуб после 3-4 лабораторной работы по курсу "микропроцесорные системы" уверено понимает шо там к чему. да и чего ж там понимать, опкоды интуитивно понятны, а у типичного 8535 их "аж" 130 штук
     
  16. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    trash_master
    одно дело понимать - с этим то проблем нет, другое дело удобочитаемость :) не только мне а и многим не нравится AT&T синтаксис как раз из-за того что мнемоники команд захламлены повторным указанием размерности операнда (который и так понятен из агрумента), вот поэтому и говорю, что эти i, w и т.п. на конце делают код плохочитаемым, а альтернативы как в x86 - хочешь AT&T, а хочешь Intel синтаксис увы не предусмотрено.
     
  17. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.898
    http://sourceforge.net/projects/fxasm/
     
  18. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    интересно. Вот только что на жабе.. это они мало подумали