Quizás esta pregunta sea algo absurda porque no entiendo mucho de este tema... no tengais contemplaciones conmigo
Recientemente descubrí que para que una función devolviese siempre True (1) era suficiente con modificar el opcode que guarda el valor False (0) en la pila para convertirlo en True (No 0), eso es algo obvio, pero no sabía como hacerlo, y ahí descubrí que dicho valor es igual al índice del opcode ldc.i4, es decir, el opcode ldc.i4.0 almacena un 0 a la pila (False), y el opcode ldc.i4.1 almacena un 1 en la pila (True)
Eso es lo que nos cuenta la MSDN:
Ldc_I4_0
Ldc_I4_1
Cita de: http://msdn.microsoft.com/en-us/library/system.reflection.emit.opcodes.ldc_i4%28v=vs.110%29.aspx
Ldc_I4:
Pushes a supplied value of type int32 onto the evaluation stack as an int32.
Pushes a supplied value of type int32 onto the evaluation stack as an int32.
Mi pregunta es, ¿por que el rango solo va desde ldc.i4.0 hasta ldc.i4.8?, quiero decir, ¿por que no hay un 9, y así hasta el máximo valor Int32?, ¿porque y con que finalidad solo hay 8 índices/valores pre-establecidos de este opcode?.
Saludos!