共 8 篇文章 |
|
C代码优化方案C代码优化方案。能够使用整型变量定义的变量就不要用长整型(long int),能不使用浮点型(float)变量就不要使用浮点型变量。旧代码:新代码:这个关键字请求编译器用函数内部的代码替换所有对于指出的函数的调用。在最内层循环避免使用全局变量和静态变量,除非你能确定它在循环周期中不会动态变化,大多数编译器优化变量都只有一个... 阅72 转1 评0 公众公开 14-11-12 14:14 |
阅171 转0 评0 公众公开 14-11-04 15:07 |
而_cdecl是调用者也就是这边的main函数平衡堆栈,被调用者(sum函数)不需要自己平衡堆栈,所以只需要ret即可。全局函数声明,表示这个函数要被外部文件调用 _sum@8: push ebp ;保护ebp指针 mov ebp,esp mov eax,[ebp+8] ;第一个入口参数int a mov ebx,[ebp+12];第二个入口参数int b add eax,ebx pop ebp ... 阅407 转3 评0 公众公开 14-11-04 15:03 |
MMX开发文档MMX开发文档 I MMX简介 Intel的MMX?技术是对Intel体系结构(IA)指令集的扩展。MMX的缺点:由于MMX的运算指令必须在数据配对整齐的时候才能使用,所以使用MMX指令要比普通的汇编指令多余许多分组配对的指令,如果运算不是特别的整齐的话,就要浪费大量的时间在数据的配对上,所以说MMX指令也不是万能的,也有其很大的缺陷。mov... 阅46 转1 评0 公众公开 14-11-04 15:02 |
10. pmovmskbpmovmskb r32,XMM取16位操作数符号位 具体操作同前r[0] <== XMM[7] r[1] <== XMM[15] r[2] <== XMM[23] r[3] <== XMM[31]r[4] <== XMM[39] r[5] <== XMM[47] r[6] <== XMM[55] r[7] <== XMM[63]r[8] <== XMM[71] r[9] <== XMM[79] r[10] <== XMM[87] r[11... 阅3231 转3 评0 公众公开 14-11-04 15:02 |
instruction queue 组件在 pre-decoder 与 decoder 之间,经过 pre-decoder 后指令的长度已经确认,从 ICache 传送过来的 16-bytes 被解析为 x86 指令写入 instruction queue(指令队列)里存放着,instruction queue 最多可以容纳 18 条指令。ret 指令可以解码为 2 个 uop:1 个 JMP uop 与 1 个 ADD uop。由于 x86 指令的不定长以及指令解码 ... 阅133 转0 评0 公众公开 14-11-04 15:01 |
MOV[D,Q]从MMX寄存器传入、传出【双字,4字】MMX技术同时提供了一个MMX指令集,其中的指令可以可以把一个数值(其类型可以是字节、字或双字)加载到这些MMX寄存器中,在寄存器中进行算术或逻辑运算,然后把寄存器中的结果放回内存存储单元。MMX程序设计详细介绍包含的头文件所有的MMX指令集函数在emmintrin.h文件中定义:#include <emmintri... 阅112 转0 评0 公众公开 14-11-04 14:59 |
instruction queue 组件在 pre-decoder 与 decoder 之间,经过 pre-decoder 后指令的长度已经确认,从 ICache 传送过来的 16-bytes 被解析为 x86 指令写入 instruction queue(指令队列)里存放着,instruction queue 最多可以容纳 18 条指令。ret 指令可以解码为 2 个 uop:1 个 JMP uop 与 1 个 ADD uop。由于 x86 指令的不定长以及指令解码 ... 阅1056 转7 评0 公众公开 14-05-13 09:10 |