Herhangi bir belge var mı yoksa verilen Operand
türünde bir çekirdeğin kullanacağı kapsamlı bir görünüm elde etmek için kullanabileceğim çekil kaynak kodunun bir parçası var mı? Code
değeri? Örneğin: Ldloc
'un numaralı Operand
türünü VariableDefinition
türünden aldığım MethodBodyRocks
'dan alabilirim, ancak diğer komut kodlarının bazıları için bunu izleyemedim.cecil: Instruction.OpCode.Code değerine karşılık gelen türev türleri
7
A
cevap
5
Her OpCode'un tanımına OpCodes.cs dosyasında bakabilirsiniz.
E.g. Ldloc için size OperandType.InlineVar
17
, poupou cevabı her talimat Kodu için atanır OperandType
OpCodes.cs gösterileri eklemek için görecekti. Bu OperandType
'u kullanarak, bu OperandType
s'nin hangi beton nesne türünün oluşturulduğunu belirlemek için nasıl kullanıldığını görmek için CodeReader.ReadOperand'a başvurabilirsiniz. Ayrıca, CodeReader.ReadCode
, bazı işlenenlerini döndürme işleminden önce Instruction
nesneye dönüştürmek için öğesinin CodeReader.ResolveBranches
'u kullandığını unutmayın.
Ben çok (şey bir InlineNone OperandType olmalıdır Bu tabloda yer almayan) kaynak üzerinden her zaman kazma daha uygun daha sonra bu tabloyu oluşturdu:
Instruction.OpCode.Code|Instruction.OpCode.OperandType|Instruction.Operand class
Ldarg_S |ShortInlineArg |ParameterDefinition
Ldarga_S |ShortInlineArg |ParameterDefinition
Starg_S |ShortInlineArg |ParameterDefinition
Ldloc_S |ShortInlineVar |VariableDefinition
Ldloca_S |ShortInlineVar |VariableDefinition
Stloc_S |ShortInlineVar |VariableDefinition
Ldc_I4_S |ShortInlineI |sbyte <===== NOTE: special case
Ldc_I4 |InlineI |int32
Ldc_I8 |InlineI8 |int64
Ldc_R4 |ShortInlineR |single
Ldc_R8 |InlineR |float (64 bit)
Jmp |InlineMethod |MethodReference
Call |InlineMethod |MethodReference
Calli |InlineSig |CallSite
Br_S |ShortInlineBrTarget |Instruction
Brfalse_S |ShortInlineBrTarget |Instruction
Brtrue_S |ShortInlineBrTarget |Instruction
Beq_S |ShortInlineBrTarget |Instruction
Bge_S |ShortInlineBrTarget |Instruction
Bgt_S |ShortInlineBrTarget |Instruction
Ble_S |ShortInlineBrTarget |Instruction
Blt_S |ShortInlineBrTarget |Instruction
Bne_Un_S |ShortInlineBrTarget |Instruction
Bge_Un_S |ShortInlineBrTarget |Instruction
Bgt_Un_S |ShortInlineBrTarget |Instruction
Ble_Un_S |ShortInlineBrTarget |Instruction
Blt_Un_S |ShortInlineBrTarget |Instruction
Br |InlineBrTarget |Instruction
Brfalse |InlineBrTarget |Instruction
Brtrue |InlineBrTarget |Instruction
Beq |InlineBrTarget |Instruction
Bge |InlineBrTarget |Instruction
Bgt |InlineBrTarget |Instruction
Ble |InlineBrTarget |Instruction
Blt |InlineBrTarget |Instruction
Bne_Un |InlineBrTarget |Instruction
Bge_Un |InlineBrTarget |Instruction
Bgt_Un |InlineBrTarget |Instruction
Ble_Un |InlineBrTarget |Instruction
Blt_Un |InlineBrTarget |Instruction
Switch |InlineSwitch |Instruction array
Callvirt |InlineMethod |MethodReference
Cpobj |InlineType |TypeReference
Ldobj |InlineType |TypeReference
Ldstr |InlineString |string
Newobj |InlineMethod |MethodReference
Castclass |InlineType |TypeReference
Isinst |InlineType |TypeReference
Unbox |InlineType |TypeReference
Ldfld |InlineField |FieldReference
Ldflda |InlineField |FieldReference
Stfld |InlineField |FieldReference
Ldsfld |InlineField |FieldReference
Ldsflda |InlineField |FieldReference
Stsfld |InlineField |FieldReference
Stobj |InlineType |TypeReference
Box |InlineType |TypeReference
Newarr |InlineType |TypeReference
Ldelema |InlineType |TypeReference
Ldelem_Any |InlineType |TypeReference
Stelem_Any |InlineType |TypeReference
Unbox_Any |InlineType |TypeReference
Refanyval |InlineType |TypeReference
Mkrefany |InlineType |TypeReference
Ldtoken |InlineTok |IMetadataTokenProvider
Leave |InlineBrTarget |Instruction
Leave_S |ShortInlineBrTarget |Instruction
Ldftn |InlineMethod |MethodReference
Ldvirtftn |InlineMethod |MethodReference
Ldarg |InlineArg |ParameterDefinition
Ldarga |InlineArg |ParameterDefinition
Starg |InlineArg |ParameterDefinition
Ldloc |InlineVar |VariableDefinition
Ldloca |InlineVar |VariableDefinition
Stloc |InlineVar |VariableDefinition
Unaligned |ShortInlineI |byte
Initobj |InlineType |TypeReference
Constrained |InlineType |TypeReference
No |ShortInlineI |byte
Sizeof |InlineType |TypeReference
İlgili konular
- 1. A-Z harfini karşılık gelen int'ye dönüştürün.
- 2. Scipy Türev
- 3. Nesnelere karşılık gelen karakterlerle nasıl listelenir?
- 4. Karşılık gelen MPI_Bcast'in Rutin Alma Alımı
- 5. Bu Ajax istek karşılık gelen JSON dosyasına
- 6. Mantıksal bir işlemle ilgili karşılık gelen satırlar
- 7. ActiveRecord Dernekleri: has_many WITHOUT karşılık gelen belongs_to?
- 8. Birçok karşılık gelen div için jQuery'yi geliştirin
- 9. SQL select max (tarih) ve karşılık gelen değeri
- 10. Bir arabellek konumuna karşılık gelen çizgi numarası nasıl bilinir?
- 11. Bir rapor karşılık gelen sorguda bulunmadığında neden hata veriyor?
- 12. Liste kutusunda karşılık gelen değerleri aşağıya açılan değerde tıklatarak
- 13. Tamsayı girdisini karşılık gelen hücre satırına dönüştürme VBA
- 14. Veri özniteliğini bir düğmeden karşılık gelen modele aktarma
- 15. Google Glass touchpad işlemlerinin karşılık gelen klavye tuşları nedir?
- 16. Awk: Bir dizgiye karşılık gelen eşlemeyi kullanarak ve ardından karakterleri
- 17. Bu kısıtlama, tüm değerler karşılık gelen üst değerler olmadığından etkinleştirilemez.
- 18. Hata ayıklama karşılık gelen javascript dosyası, VS Code
- 19. R: Başka bir veri çerçevesinden karşılık gelen değeri al
- 20. Guava'da karşılık gelen bir immutable enumMap var mı?
- 21. Python'da, bir dizede her harfe karşılık gelen işlevi nasıl yürütülür?
- 22. Niçin bir numaraya karşılık gelen bir PropType'ı nasıl bildirebilirim?
- 23. Karşılık gelen x verileri olmadan ikinci y eksenini ekleyin
- 24. Türleri
- 25. Mono Cecil ile bir try-catch ekleyin
- 26. Phonegap/iPad - UTI'ler - Doc türleri ... gelen URL ile ne yapmalı
- 27. Türleri
- 28. Sınıf yöntemi, karşılık 1 (
- 29. vs karşılık listesine dön
- 30. SQL'de, başka bir tabloda karşılık gelen bir satır yoksa, bir tablodaki bir satırı silmek nasıl?
Büyük tablo, teşekkür ederim! – Alexus