Nov
04

========================================
/*windows环境下32位语言程序设计(第2版)罗云彬*/|
/*版权所有:chenyihao Email:chenyihao@yeah.net*/
/*:http://www.diaomin.org*/
/*2008年07月28日*/
==========================================

1.学习win32的原因:
  一.利用Windows提供的大量函数库,用win32同样可以开发出大型软件.
  二.任何汇编语言都是和操作系统相关的,所以win32是不同于Dos汇编的.
  三.win32环境下,大部分的高级语言都对实现的细节进行封装,而使用win32可以了解操作系统运行的细节
  四.在windows环境下进行加密解密,逆向工程,病毒的分析等工作时,win32是惟一选择.

2.80386的工作模式 ... 阅读全文...

May
07

代码优化的目标当然是体积小和速度快,但是在通常的情况下二者就象鱼和熊掌一样不能得兼,我们通常寻找的是这二者的折中,究竟应该偏向何方,那就得具体看我们的实际需要.

但有些常识是我们应该牢记的,下面就结合我们最常遇到的具体情况来漫谈一下:

1.寄存器清0
我绝对不想再看到下面的写法:
1) mov eax, 00000000h ;5 bytes
看起来上面的写法很符合逻辑,但你应当意识到还有更加优化的写法:
2) sub eax, eax ;2 bytes

3) xor eax, eax ;2 bytes
看看后面的字节数你就应该理解为什么要这么作了,除此之外,在速度上也没有损失,他们一样快,但你喜欢xor还是sub呢?我是比较喜欢xor,原因很简单,因为我数学不好....
不过Microsoft比较喜欢sub....我们知道windows运行的慢....(呵 ... 阅读全文...

| || |
由yo2提供博客服务 |Theme created by In My Pad.