随笔分类 - ASM
摘要:这个代码在GCC中是不能编译通过的,断句之后是这样:(*a)++ + ++(*b),如果a、b不同的话,很好判断,相当于 a + (b+1),如果a、和b引用的是同一个数呢?可以通过gcc -S选项来查看,主要代码如下:代码根据C函数调用的机制,b会先进栈,然后是a,首先将a移动到eax寄存器,然后将a指向的整数值移动到eax寄存器,然后用同样的方法将b指向的整数值移动到edx寄存器,然后将b指向的值加1,移动到ecx,将b加载到edx寄存器,然后将ecx中的数据移动到b指向的内存位置(++(*b)),然后再费劲的将b指向的整数值加载到edx,计算调整后的值,并移动到ecx寄存器,然后将a的值
阅读全文
摘要:目前能获得一些功能鸟~~比如CPU厂商啊,支持的指令集啊,还有一些步进啊,型号啊什么的CPU缓存信息我用的枚举,有别的好办法没啊。。。。累死了。先写这一部分,接下来弄界面的。用VC + MinGW
阅读全文

浙公网安备 33010602011771号