我一直在阅读ECMA CLI规范:
http://www.ecma-international.org/publications/standards/Ecma-335.htm
并且我对堆栈转换图中的某些指令使用逗号感到困惑。例如,这是ldloc
的已记录堆栈转换(将参数加载到堆栈上):
… => …, value
这是ldsfld
的堆栈转换(加载类的静态字段:
…, => …, value
我的问题与指令前的多余逗号有关:它有任何意义吗?另一个示例是jmp
(跳转到方法):
… => …
和br.<length>
(无条件分支):
…, => …
也有一些尾随逗号的示例,例如nop
和starg.<length>
。这只是不一致还是我不理解的这种说法有什么细微差别?