Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> инструкции msil 
:(
    Опции темы
nmn
Дата 7.12.2008, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



объясните разницу между ldloca и ldloca.s

PM Skype   Вверх
Partizan
Дата 7.12.2008, 02:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 8
Всего: 67





--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
nmn
Дата 7.12.2008, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



Код

The ldloca.s instruction provides an efficient encoding for use with the local variables 0 through 255. 

0..255 это что? индексы локальных переменных?

Это сообщение отредактировал(а) nmn - 7.12.2008, 02:58
PM Skype   Вверх
nmn
Дата 7.12.2008, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



Код

stloc.s    CS$4$0000

что значит CS$4$0000
PM Skype   Вверх
nmn
Дата 10.12.2008, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



Код

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       69 (0x45)
  .maxstack  4
  .locals init ([0] class ConsoleApplication1.binaryOp bo)
  IL_0000:  nop
  IL_0001:  ldnull
  IL_0002:  ldftn      int32 ConsoleApplication1.Program::'add'(int32,
                                                                int32)
  IL_0008:  newobj     instance void ConsoleApplication1.binaryOp::.ctor(object,
                                                                         native int)
  IL_000d:  stloc.0
  IL_000e:  ldloc.0
  IL_000f:  ldnull
  IL_0010:  ldftn      int32 ConsoleApplication1.Program::'sub'(int32,
                                                                int32)
  IL_0016:  newobj     instance void ConsoleApplication1.binaryOp::.ctor(object,
                                                                         native int)
  IL_001b:  call       class [mscorlib]System.Delegate [mscorlib]System.Delegate::Combine(class [mscorlib]System.Delegate,
                                                                                          class [mscorlib]System.Delegate)
  IL_0020:  castclass  ConsoleApplication1.binaryOp
  IL_0025:  stloc.0
  IL_0026:  ldstr      "{0}"
  IL_002b:  ldloc.0
  IL_002c:  ldc.i4.1
  IL_002d:  ldc.i4.1
  IL_002e:  callvirt   instance int32 ConsoleApplication1.binaryOp::Invoke(int32,
                                                                           int32)
  IL_0033:  box        [mscorlib]System.Int32
  IL_0038:  call       void [mscorlib]System.Console::WriteLine(string,
                                                                object)
  IL_003d:  nop
  IL_003e:  call       int32 [mscorlib]System.Console::Read()
  IL_0043:  pop
  IL_0044:  ret
} // end of method Program::Main


интересуют строчки 13 и 14, зачем так делать?
строчки 26 и 27, откуда взялась переменная с индексом 1? здесь .locals init ([0] class ConsoleApplication1.binaryOp bo) только одна объявлена
PM Skype   Вверх
nmn
Дата 15.12.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



разве никто не работал с msil?
PM Skype   Вверх
PashaPash
Дата 16.12.2008, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



nmn, нет, а зачем?


--------------------
PM MAIL WWW   Вверх
QryStaL
Дата 16.12.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 10
Всего: 32



Посмотрите в этой книге главу 13.


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
nmn
Дата 16.12.2008, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: нет
Всего: 1



Цитата(PashaPash)
nmn, нет, а зачем?

для более полного понимания процесса smile

Это сообщение отредактировал(а) nmn - 16.12.2008, 16:16
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0690 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.