myMain :: MethodDef
myMain = Method [MaStatic, MaPublic] Void "main" []
  [ entryPoint
  , localsInit [Local Int32 "x"]

  , ldc_i4 deadbeef
  , stloc 0

  , ldstr "First {0:X} then {1:X} then {2:X}"

  , ldloca 0
  , ldind_i2
  , box int16

  , ldloca 0
  , ldc_i4 1
  , add
  , unalignedPtr ByteAligned
  $ ldind_i2
  , box int16

  , ldloca 0
  , ldc_i4 2
  , add
  , unalignedPtr DoubleByteAligned
  $ volatilePtr -- Marked as volatile, for no particular reason
  $ ldind_i2
  , box int16

  , call [] Void "mscorlib" "System.Console" "WriteLine" [String, Object, Object, Object]

  , ret
  ]
myMain :: MethodDef
myMain = Method [MaStatic, MaPublic] Void "main" []
  [ entryPoint
  , localsInit [Local Int32 "x"]

  , ldc_i4 deadbeef
  , stloc 0

  , ldstr "First {0:X} then {1:X} then {2:X}"

  , ldloca 0
  , ldind_i2
  , box int16

  , ldloca 0
  , ldc_i4 1
  , add
  , unalignedPtr ByteAligned
  $ ldind_i2
  , box int16

  , ldloca 0
  , ldc_i4 2
  , add
  , unalignedPtr DoubleByteAligned
  $ volatilePtr -- Marked as volatile, for no particular reason
  $ ldind_i2
  , box int16

  , call [] Void "mscorlib" "System.Console" "WriteLine" [String, Object, Object, Object]

  , ret
  ]
myMain = Method [MaStatic, MaPublic] Void "main" []
  [ entryPoint
  , localsInit [Local Int32 "x"]

  , ldc_i4 deadbeef
  , stloc 0

  , ldstr "First {0:X} then {1:X} then {2:X}"

  , ldloca 0
  , ldind_i2
  , box int16

  , ldloca 0
  , ldc_i4 1
  , add
  , unalignedPtr ByteAligned
  $ ldind_i2
  , box int16

  , ldloca 0
  , ldc_i4 2
  , add
  , unalignedPtr DoubleByteAligned
  $ volatilePtr -- Marked as volatile, for no particular reason
  $ ldind_i2
  , box int16

  , call [] Void "mscorlib" "System.Console" "WriteLine" [String, Object, Object, Object]

  , ret
  ]