纪委的职责
keil编译优化等级及查看汇编代码
钱穆keil优化等级修改:
project->options->c51->Code Optimization Level
上午用英语怎么说其中0级(Constan folding)的优化包括:
a、常数折叠:只要有可能,编译器就执⾏将表达式化为常数数字的计算,其中包括运⾏地址的计算。
b、 简单访问优化:对8051系统的内部数据和位地址进⾏访问优化。
c、 跳转优化:编译器总是将跳转延⾄最终⽬标上,因此跳转到跳转之间的命令被删除。
1级(Dead code elimination)的优化包括:
a、 死码消除:⽆⽤的代码段被消除。
b、 跳转否决:根据⼀个测试回溯,条件跳转被仔细检查,以决定是否能够简化或删除。
2级(Data overlaying)的优化包括:
a、数据覆盖:适于静态覆盖的数据和位段被鉴别并标记出来。连接定位器BL51通过对全局数据流的分析,选择可静态覆盖的段。《最后一课》>婚礼答谢
3级(Peephole optimization)的优化包括:
a、“窥孔”优化:将冗余的MOV命令去掉,包括不必要的从存储器装⼊对象及装⼊常数的操作。另外如果能节省存储空间或者程序执⾏时间,复杂操作将由简单操作所代替。
4级(Register variables)的优化包括:
a、寄存器变量:使⾃动变量和函数参数尽可能位于⼯作寄存器中,只要有可能,将不为这些变量保留数据存储器空间。
b、扩展访问优化:来⾃IDATA、XDATA、PDATA和CODE区域的变量直接包含在操作之中,因此⼤多数时候没有必要将其装⼊中间寄存器。
c、局部公共⼦式消除:如果表达式中有⼀个重复执⾏的计算,第⼀次计算的结果被保存,只要有可能,将被⽤作后续的计算,因此可从代码中消除繁杂的计算。
d、CASE/SWITCH语句优化:将CASE/SWITCH语句作为跳转表或跳转串优化。
入党个人简介
5级(Common subexpression elimination)的优化包括:
a、全局公共⼦式消除:只要有可能,函数内部相同的⼦表达式只计算⼀次。中间结果存⼊⼀个寄存器以代替新的计算。
小学生日记100
b、简单循环优化:以常量占据⼀段内存的循环再运⾏时被优化。
6级(Loop rotation)的优化包括:
a、回路循环:如果程序代码能更快更有效地执⾏,程序回路将进⾏循环。
关于书法的名言7级(Extended Index Access optimizing)的优化包括:
a、扩展⼊⼝优化:在适合时对寄存器变量使⽤DPTR数据指针,指针和数组访问被优化以减⼩程序代码和提⾼执⾏速度。
8级(Reu Common Entry Code)的优化包括:
a、公共尾部合并:对同⼀个函数有多处调⽤时,⼀些设置代码可被重复使⽤,从⽽减⼩程序代码长度。
9级(Common Block Subroutines)的优化包括:
a、公共⼦程序块:检测重复使⽤的指令序列,并将它们转换为⼦程序。C51甚⾄会重新安排代码以获得更多的重复使⽤指令序列。
查看汇编代码:debug->View->Disasmbly Window