「共通中間言語」の版間の差分

imported>Administrator
編集の要約なし
 
(4人の利用者による、間の6版が非表示)
1行目: 1行目:
'''共通中間言語'''(きょうつうちゅうかんげんご、'''C'''ommon '''I'''ntermediate '''L'''anguage、'''CIL''')とは、[[Mono]]および[[.NET Framework]]で用いられる[[アセンブリ言語]]、および[[共通言語基盤]]([[CLI]]、[[.NET]]の[[仮想マシン]])が理解できる架空の[[機械語]]のことである。.NET Frameworkがベータ版だったころまでは「'''M'''icro'''s'''oft '''I'''ntermediate '''L'''anguage」('''MSIL''')として知られており、今なおMSILと呼ぶひとは多い。
'''共通中間言語'''(読み:きょうつうちゅうかんげんご、[[英語]]:Common Intermediate Language、略称:CIL)とは、[[Mono]]および[[.NET Framework]]で用いられる[[アセンブリ言語]]、および[[共通言語基盤]]([[CLI]]、[[.NET]]の[[仮想マシン]])が理解できる架空の[[機械語]]のことである。
 
[[.NET Framework]]がベータ版だったころまでは「Microsoft Intermediate Language」([[MSIL]])として知られており、今なおMSILと呼ぶひとは多い。


== コード表現とバイナリイメージ表現 ==
== コード表現とバイナリイメージ表現 ==
32行目: 34行目:
         default void Main(string[] args) cil managed
         default void Main(string[] args) cil managed
     {
     {
         // どうみてもエントリーポイント
         // どうみてもエントリポイント
         .entrypoint
         .entrypoint
         .maxstack 8
         .maxstack 8
887行目: 889行目:
| 0xFE 0x0E <uint16>
| 0xFE 0x0E <uint16>
| [[共通中間言語/stloc|stloc]] index
| [[共通中間言語/stloc|stloc]] index
|  
| スタック上の値をインデックス番号indexのローカル変数に取り出す。
|-
|-
| 0x0A
| 0x0A
| [[共通中間言語/stloc.0|stloc.0]]
| [[共通中間言語/stloc.0|stloc.0]]
|  
| スタック上の値をインデックス番号0のローカル変数に取り出す。
|-
|-
| 0x0B
| 0x0B
| [[共通中間言語/stloc.1|stloc.1]]
| [[共通中間言語/stloc.1|stloc.1]]
|  
| スタック上の値をインデックス番号1のローカル変数に取り出す。
|-
|-
| 0x0C
| 0x0C
| [[共通中間言語/stloc.2|stloc.2]]
| [[共通中間言語/stloc.2|stloc.2]]
|  
| スタック上の値をインデックス番号2のローカル変数に取り出す。
|-
|-
| 0x0D
| 0x0D
| [[共通中間言語/stloc.3|stloc.3]]
| [[共通中間言語/stloc.3|stloc.3]]
|  
| スタック上の値をインデックス番号3のローカル変数に取り出す。
|-
|-
| 0x13 <uint8>
| 0x13 <uint8>
| [[共通中間言語/stloc.s|stloc.s]] index
| [[共通中間言語/stloc.s|stloc.s]] index
|
| スタック上の値をインデックス番号indexのローカル変数に取り出す。indexが0~255以内のとき用。
|-
|-
| 0x81 <T>
| 0x81 <T>
964行目: 966行目:


== 関連ツール ==
== 関連ツール ==
* [[monodis]]
* [[ilasm]] - [[Mono]]に付属する[[アセンブラ]]
* [[monodis]] - [[Mono]]に付属する[[逆アセンブラ]]


== 関連項目 ==
== 関連項目 ==
980行目: 983行目:
== 外部リンク ==
== 外部リンク ==


{{stub}}
[[category: プログラミング言語]]
[[category: .NET]]