|
应用程序访问某些内存、磁盘空间的指令可能受到操作系统(OS)的限制不能执行。
例如windows有时报错,说内存某处不能写。但往别处写,OS还是支持的。
OS对应用程序主要负责管理,对应用程序本身使用什么指令其实不很在乎。
有些开发工具不支持某些指令,让你编程不便,但那跟OS无关。不点在
http://bbs.wuyou.net/forum.php?m ... &fromuid=195661
就使用了汇编语言不支持的指令
- /* Undocumented AAM instruction Opcode: D4 imm8 */
- .byte 0xD4, 0x10 // AH= AL / 16, AL= AL % 16
复制代码
其实是绕过汇编处理工具直接使用了特殊指令的机器码。包含这个机器码的程序会被OS正常载入内存,在cpu上执行。
PE跟普通windows大体相近,差异也有点,例如:
普通windows可能支持双核,0PE有提供双核支持组件,但有的其它XP/03PE可能不支持双核。win7/8pe都支持双核。
普通windows可能安装有针对intel cpu或amd cpu的加速补丁、处理器驱动,OPENGL库等,常见pe可能没有。
OS本身可能没有用到CPU指令集中某些指令,存在没有完全发挥CPU能力的可能性。
但是否使用CPU某些指令,充分发挥CPU效能,毕竟与应用程序、开发工具关系更大。
具体问题具体分析,实际应用遇到具体需求再说吧。 |
|