1、Keil C51 查看src文件,src文件,src文件是编译c程序文件时产生的汇编语言源文件,基本可以直译机械码。,设置方法,在项目窗口的c文件上右键选择Options for File “.“ 设置选项Generate Assembler SRC File打勾 设置选项Assemble SRC File打勾设置完成后编译可以在项目目录下看到src文件。注:灰色选项框意味取默认设置,为什么要看src文件,从src文件可以看出c语言与汇编语言的差别 可以给程序查错 可以学习编译器,如何看src文件,src文件,c文件,NAME 程序文件名,RSEG 程序分段,SEGMENT 程序段类型 COD
2、E 程序 DATA 数据,文件信息,程序段 数据段 定义,程序主体,?PR?main?MAIN2 是main程序的标号PR是program的简写 同样DT是data的简写main 是程序名称 MAIN2是程序文件名称“?”是编译时使用的一种标号分隔符,char、int、long、float的区别,c语言大部分数据类型是编译器内置的,数据长度是使用DS伪指令划分的内存单元数量,c文件中同样的操作编译时会经过编译器的加工,c文件,src文件,包含头文件,看得出在编译过程中头文件的内容被加载到了程序中,c文件,src文件,reg52.h,实现流水灯实例的三种方法 第一种,i = (i7); 使用移位操作符以及或指令实现循环移位,第二种,intrins.h中包含keil内置操作 其中_crol_()用于指定次数的循环移位 调用形式:_crol_(移位变量,移位次数),第三种,使用#pragma asm/endasm 预处理指令直接嵌入汇编MOV A, i?040 中的 040 表示 局部变量内部预留地址,比较三种方法,第一种方法体现C语言算法编写优势,但是编译后的汇编程序会有较多功能冗余 第二种使用keil编译器内置操作,较为灵活,但可以使用的平台有限 第三种直接嵌入汇编程序使得程序编译后执行效率最高,但编写过程中也最不灵活,