Разработка компиляторов

       

Команды загрузки в MSIL


Перейдем к рассмотрению основных команд MSIL. Начнем с команд загрузки:

  • ldimm <число> - загрузка константы
  • ldstr <строка> - загрузка строковой константы
  • ldsflda <поле> - загрузка адреса статического поля
  • ldloca <# переменной> - загрузка адреса локальной перменной
  • ldflda <поле> - загрузка адреса поля объекта
  • ldind - косвенная загрузка, берет адрес со стека и помещает на его место значение, размещенное по этому адресу

Поскольку, как правило, нам необходим не адрес переменной, а ее значение, то существуют команды загрузки значения на стек: ldsfld, ldloc, ldfld. Каждая из этих команд эквивалентна паре команд ldxxxa; ldind.



Содержание раздела