Инструкция по обмену стека CIL - PullRequest
10 голосов
/ 10 октября 2008

Существует ли инструкция CIL для обмена первыми двумя элементами в стеке?

Ответы [ 4 ]

10 голосов
/ 10 октября 2008

Нет единого обмена инструкциями. Однако, используя stloc , pop и ldloc , вы сможете завершить обмен.

2 голосов
/ 11 октября 2008

Нет. Единственный способ поменять элементы - привязать два верхних элемента к локальным, а затем отправить их в обратном порядке.

1 голос
/ 10 октября 2008

Глядя на список инструкций CIL , похоже, нет ни одной инструкции, которая обменивается двумя элементами в верхней части стека. Тебе придется делать это по-старому, как поп / пуш.

0 голосов
/ 10 октября 2008

Для дальнейшего использования вы можете создать сборку, которая выполняет то, для чего вы хотите изучить IL, а затем просмотреть сборку в Reflector. Вы можете выбрать язык, на котором хотите код, и IL - один из вариантов. Я сделал это, пытаясь понять, как кодировать динамический метод ...

...