Конференция ".Net" » C#+Assembler [C#]
 
  • Чапаев © (28.10.05 10:03) [0]
    Возможны ли ассемблерные вставки в программе на C#? Я так понимаю, что НЕТ. Но мне тут клялись и божились, что есть прога на C# с ассемблером и она работает... Кто прав?
  • Seg (28.10.05 11:28) [1]
    Исходный текст проги показывали?
  • DiamondShark © (28.10.05 12:21) [2]

    > Возможны ли ассемблерные вставки в программе на C#?

    Нет.

    А зачем?
  • Seg (28.10.05 12:43) [3]
    А зачем?

    Действительно.
  • Lamer@fools.ua © (28.10.05 13:58) [4]
    А что? Asm.NET - это идея.
    :-)
  • Seg (28.10.05 14:04) [5]
    А что? Asm.NET - это идея.

    Прямой доступ к процессору противоречит идеологии .NET.
  • Lamer@fools.ua © (28.10.05 14:19) [6]
    >>Seg   (28.10.05 14:04) [5]

    Будет прямой доступ, но managed +)
  • Seg (28.10.05 14:27) [7]
    Прямой, но управляемый - это как?
    Удалить все "вредные" функции?
  • Джо © (28.10.05 14:47) [8]
    Да, идея на 5+
    Опкоды транслируются в их эквиваленты на MSIL... да, есть в этом что-то прекрасное... Asm.NET - наш подарок мазохистам.

    Например:
    nop

    транслировать можно так: создаем экземпляр DummyClass и выжываем его метод DoNothing.
  • Seg (28.10.05 15:02) [9]
    метод DoNothing.

    .NET не может ничего не делать, когда ему нечего делать, он занимается сборкой мусора, передвигает блоки поближе к стеку и т.д.
  • DrPass © (28.10.05 15:07) [10]
    Можно и без прямого доступа к процессору. Можно создать (если в дебрях Microsoft его еще не создали) транслятор, который будет преобразовывать коды ассемблера в соответствующий байт-код IL
  • Джо © (28.10.05 15:34) [11]

    > [9] Seg   (28.10.05 15:02)

    Это из рубрики "А мужики и не знали"?

    А, вообще, идея не такая уж и бесполезная. Например, эмулировать среду выполнения x86 процессора, со своей "памятью", "регистрами" и "прерываниями". Возможности отладки - непревзойденные, опять же - запуск виртуальной машины x86 на целевых операционных системах, работающих на иных процессорах, но для которых уже реализована среда .Net.
    Хотя, несомненно, легкий привкус абсурда имеется в этой идее :)
  • DrPass © (28.10.05 20:10) [12]
    Действительно - круто. Виртуальная машина для запуска на виртуальной машине :)
  • Джо © (28.10.05 20:19) [13]

    > [12] DrPass ©   (28.10.05 20:10)

    В виду всеобщего увлечения виртуальными машинами (в широком смысле) перспектива кажется вполне закономерной:-)

    Я и то удивлен, что еще до сих пор не сварганили процессор, умеющий выполнять IL. Ну, это дело не за горами, я думаю. Вот пост-скрипт процессоры в принтерах давно реализовали (изначально), дело за малым. А идейное убожество (на которое еще в 70-х годах разработчики компиляторов пеняли) существующих процессорных архитектур и мощь их технических показателей этому поспособствуют.
  • ИА (29.10.05 04:39) [14]
    Смотря что вы называете ассемблером.
    Так устроит? :)

     .assembly ILDemo {}
       .class DemoApp {
         .method static void Main() {
           .entrypoint
           ldstr      "Hello, World!"
           call       void System.Console::WriteLine(class System.Object)
           ret
         }
       }

     компилируется это безобразие тем же ilasm.
     В принципе, смысл в подобном извращении есть - некоторые фичи CLR C# не поддерживает.
  • Джо © (29.10.05 04:49) [15]

    >  [14] ИА   (29.10.05 04:39)

    [mscorlib] забыли указать перед классом :)
  • ИА (29.10.05 06:51) [16]
    Ну вам не угодишь.
    Это еще я добрый. Вот ту сволочь что писала "Вычислительные методы на языке Бэйсик" или как там называлась та настольная книжка когда-то, я бы придушил. Искать опечатку в паре страниц реализации маталгоритма гораздо сложнее :)
  • Чапаев © (31.10.05 10:55) [17]

    > Исходный текст проги показывали?

    Обещали показать. :-D Сегодня, наверное, поеду...


    > Смотря что вы называете ассемблером.

    Имелся в виду "классический" ассемблер с MOV, ADD, INT и прочими радостями.


    > Вот ту сволочь что писала "Вычислительные методы на языке
    > Бэйсик" или как там называлась та настольная книжка когда-
    > то, я бы придушил

    Уж не "Структуры данных для персональных ЭВМ" ли by Лэнгсам-Огенстайн-Танненбаум? :o)
 
Конференция ".Net" » C#+Assembler [C#]
Есть новые Нет новых   [134430   +2][b:0][p:0.001]