庄行网站建设,网站做排名有用吗,置顶 wordpress,怎么不花钱建立网站ldc指令是把值送到栈上#xff0c;
说明如下#xff0c;
ldc.i4 将所提供的int32类型的值作为int32推送到计算堆栈上#xff1b; ldc.i4.0 将数值0作为int32推送到计算堆栈上#xff1b; ... ldc.i4.8 将数值8作为int32推送到计算堆栈上#xff1b; ldc.i4.m1 将数值-…ldc指令是把值送到栈上
说明如下
ldc.i4 将所提供的int32类型的值作为int32推送到计算堆栈上 ldc.i4.0 将数值0作为int32推送到计算堆栈上 ... ldc.i4.8 将数值8作为int32推送到计算堆栈上 ldc.i4.m1 将数值-1作为int32推送到计算堆栈上 ldc.i4.s 将提供的int8值作为int32推送到计算堆栈上短格式 ldc.i4 99这样是把数值99送到栈上
ldc.i4.s也是把值送到栈上但是需要提供的是一个字节长的整型
i4是数据类型助记符是指4字节的整型s则是指 Single Byte
ldc.i4.s 11这样是把数值11送到栈上
ldc.i4.0 到 ldc.i4.8是直接送最后的这个数值0-8到栈上
示例
.assembly extern mscorlib {}.assembly Test{.ver 1:0:1:0}.module test.exe.method static void main() cil managed{.maxstack 12.entrypointldc.i4 202call void [mscorlib]System.Console::Write (int32)ldc.i4 303call void [mscorlib]System.Console::Write (int32)ldc.i4.6call void [mscorlib]System.Console::Write (int32)ldc.i4.5call void [mscorlib]System.Console::Write (int32)ldc.i4.m1call void [mscorlib]System.Console::Write (int32)ldc.i4.s 3000call void [mscorlib]System.Console::Write (int32)ret}
先把202送到栈上然后输出再把303送到栈上然后输出
然后把数值6送到栈上然后输出再把数值5送到栈上然后输出
再把数值-1送到栈上然后输出
然后看一下ldc.i4.s 3000会输出什么带了.s之后需要提供一个字节长的整型单字节整型的最大值是255
运行如下 没有输出回车换行数字都是连在一起的最后一次输出-72倒数第二次输出-1
有时间继续