Алгоритмический ассемблер

Тема в разделе "WASM.PROJECTS", создана пользователем AS25, 29 ноя 2007.

  1. AS25

    AS25 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2006
    Сообщения:
    28
    Адрес:
    Russia
    Как известно хороший инструмент определяет качество изделия.
    Так и хороший программист должен иметь хороший инструмент.

    Есть идея заработать ассемблер который представлял мнемоники в виде алгоритма.
    А програмирование осушествлялось бы установкой необходимых блоков.
    Получилась бы графическая среда для написания программ.

    Такая среда уже существует правдо только для процесоров ATMEL(AVR).
    Называется AlgorithmBuilder сайтhttp://algrom.net/russian.html.

    Сделать точно такую же среду только для процессоров Intel.
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    где-то такое видел HiAsm что-ли.
     
  3. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    типа "компилятор Блок-схем" ?
     
  4. AS25

    AS25 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2006
    Сообщения:
    28
    Адрес:
    Russia
    Представляете на сколько станет читаемый язык ассемблера.
    Любой алгоритм станет прозрачный как стекло.

    Сам пользовался AlgorithmBuilder-ом ощущения очень положительные.
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Замучаешься возиться с ним. Быстрее набрать несколько вложенных циклов, например, чем мышкой возить их блоки + вписывать значение.
     
  6. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    AS25

    Зато эффективность упадёт, и сильно. Так что мы уж как-нить по старинке: ручками, ручками :)
     
  7. AS25

    AS25 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2006
    Сообщения:
    28
    Адрес:
    Russia
    Эффективность зависит от горячих клавиш. Которые только нажимать надо один раз и сразу блок текста.
    Ради эксперемента скачайте AlgorithmBuilder и попробуйте написать программу сразу поймете как это просто и легко.

    Уменя на нем целая операционка написана для ATMega128.
    Так я ее за 2 недели склепал на нем.
    Главное это не эффективность а прозрачность алгоритма.
    Когда пишешь большие проекты то бываешь забываешь что ты там писал месяц назад.
    А тут зглянул и сразу понял что к чему.
    Поверте моему опыту.
     
  8. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    AS25
    Вопрос - что быстрее запомнить : всю мнемонику ? или всю мнемонику + горячие клавиши ?

    ИМХО, писать на блоках слишком геморно. А проанализировать программу с помощью блоков - зачем? когда есть отладчики , да еще и достаточно интерактивные.
     
  9. AS25

    AS25 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2006
    Сообщения:
    28
    Адрес:
    Russia
    Так мнемонику и не надо запоминать только горячие клавиши.
    Час работы и ты их освоил.

    Ну к примеру

    mov EAX,EDX тождественно EDX->EAX
    и.т.д.
     
  10. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    AS25
    А как будет выглядеть команда RSQRTPS xmm1,xmm2 ? или например PUNPCKLQDQ xmm1, xmm2 ?
    Скажите:
    xmm1 -> xmm2
    или так :
    xmm1 <- xmm2
    или так :
    xmm2 <- xmm1

    ?

    В общем над этим стоит подумать )
    не говоря уж о командах SFENCE и тп
     
  11. AS25

    AS25 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2006
    Сообщения:
    28
    Адрес:
    Russia
    Ну такие команды можно оставить и без изменения.
    Или придумать свой значек.
     
  12. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    AS25
    То есть еще из начек придумывать и запоминать надо... А его еще надо будет искать в списке всех значков ?
    Помоему у интела слишком много команд (такая архитектура CISC (хотя на самом деле там архитектура в архитектуре RISC в CISC обвернута , да не важно по сути)) . Команды сложные. Такая алгоритмическая система тока усложнит программирование. А вот для например ARM можно бы было такое придумать. Там чистый RISC. Но опять - зачем? Если мозг человека может запоминть X86_64 набор команд, что там ему запоминать набор команд ARM процессора ...
     
  13. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    TermoSINteZ
    Проблема даже не столько в том, что команд много, сколько в их "неортогональности": в IA-32 слишком много правил и исключений из оных (например, все регистры "общего назначения" неравнозначны -- у каждого есть специфические функции). Запомнить все эти "фичи" действительно сложно. А вот, например, у VAX-11 таких проблем практически не было: исключений из правил было очень мало (а команд там побольше будет, если не считать SSE в IA-32).
     
  14. AS25

    AS25 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2006
    Сообщения:
    28
    Адрес:
    Russia
    Да у Intela команд много но Вы же не всеми пользуютесь.
    Те которые мало используюся или сложные можно оставить как есть в той форме мнемоники каккая у них сейчас. А вот остальные рекомендую изменить.
    Особенно это оносится к переходам и условиям так как они определяют ветвление алгоритма.
    Притом это избавляет от ненужных меток когда их в алгоритме становится очень много.
    И заканчивается фантазия как их назвать (начинаешь обзывать L00001, L00002 ....) а потом вспониаешь куда уходит алгоритм при определенном условии на L12345 или L12346.

    Ассемблер это теже значки но для машинного кода. В чем разница между одними значками и другими (подсказка ее нет). Это просто стериотип мышления.
    А стериотипы надо ломать они мешают жить.
    Надо что бы было удобно а не так что я привык и мне пофиг.

    Просто попробуйте написать программку на AlgorithmBuildere и Вы сразу поймете как это удобно.
     
  15. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Так действительно, есть же уже HiASM...
    Я как-то хотел на нем покодить, но очень уж неудобно в реале получается. Да и не по-дZенски это совсем.
     
  16. AS25

    AS25 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2006
    Сообщения:
    28
    Адрес:
    Russia
    HiAsm это модульный асемблер где каждый модуль уже запрограмирован.
    А здесь просто изменены мнемоники и обозначения команд. В итоге получается вполне читаемый глазом алгоритм.
     
  17. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Да без разницы. Главное, что на клаве набить пару нужных команд во много раз быстрее и эффективнее, чем щелкать мышью непонятно где, запоминать непонятно какие картинки, выставлять (и опять же запоминать) горячие клавиши. Где ты напасешь столько хоткеев, чтоб хватило хотя бы на частоиспользуемые инструкции? Вообщем идея достойная энтузиастов.
     
  18. AS25

    AS25 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2006
    Сообщения:
    28
    Адрес:
    Russia
  19. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    брр. не ассемблер, а кривопись!
     
  20. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289