没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
78K0/Kx2 C 编译器
讲义篇
2006 年 5 月
ii
i
目 录
第 1 章 概 述.................................................................. 1
1.1 该 C 编译器的特点 .............................................................1
1.2 使用 C 编译器的开发流程 .......................................................2
第 2 章 C 语言的基本结构.................................................... 3
2.1 字符集 .......................................................................3
(1)字符集 .......................................................................3
(2)多字节字符 ...................................................................3
(3)转义列表(ESCAPE 序列).........................................................3
2.2 关键字 .......................................................................5
(1)ANSI-C 关键字.................................................................5
(2)CC78K0 追加关键字.............................................................5
2.3 标识符 .......................................................................6
2.4 类型和类型变换 ...............................................................6
2.5 常数 .........................................................................8
(1)浮点型常数 ...................................................................8
(2)整数型常数 ...................................................................9
(3)枚举常数 .....................................................................9
(4)字符型常数 ..................................................................10
(5)字符串 ......................................................................10
2.6 运算符和优先顺序 ............................................................10
第3章 库函数 ............................................................... 11
3.1 参数 ........................................................................11
3.2 返回值 ......................................................................12
(1)正常模式 .................................................................12
(2)静态模式 .................................................................12
3.3 各个库函数使用的寄存器保存 ..................................................12
(1)不使用-ZR 选项的情况......................................................13
(2)指定-ZR 选项的情况.........................................................14
3.4 头文件 ......................................................................17
3.5 可重入性(仅正常模式) ......................................................18
(1)不支持重入的函数 ..........................................................18
(2)使用启动例行程序中保留区域的函数 .......................................... 18
(3)处理浮点数的函数 ..........................................................18
第4章 扩展功能............................................................. 19
4.1 关键字 ......................................................................19
4.2 存储器 ......................................................................20
ii
(1)存储模式 .................................................................20
(2)寄存器 bank...............................................................20
(3)存储空间 .................................................................20
4.3 #pragma 指令.................................................................21
4.4 扩展功能的使用方法 ..........................................................23
(1)callt 函数................................................................23
(2)寄存器变量 ...............................................................24
(3)如何使用 saddr 区域 .......................................................25
(4)sfr 区域的使用............................................................28
(5)noauto 函数...............................................................29
(6)norec 函数................................................................30
(7)bit 型变量................................................................31
(8)ASM 语句..................................................................33
(9)日文汉字 .................................................................34
(10)中断函数 .................................................................35
(11)中断函数的修饰词 .........................................................38
(12)中断功能#pragma DI,#pragma EI ...........................................38
(13)CPU 控制命令..............................................................39
(14)callf 函数................................................................40
(15)绝对地址访问函数 .........................................................41
(16)位域声明 .................................................................42
(17)改变编译器输出段的名称(#pragma section) ..................................45
(18)二进制常量 ...............................................................47
(19)模块名称改变功能 .........................................................47
(20)循环移位函数(#pragma rot) ................................................48
(21)乘法功能 .................................................................49
(22)除法运算 .................................................................49
(23)BCD 操作函数..............................................................50
(24)BANK 函数.................................................................52
(25)查表跳转函数 .............................................................53
(26)数据插入函数 .............................................................54
(27)RTOS 中断处理程序.........................................................55
(28)RTOS 中断服务程序修饰词................................................... 56
(29)RTOS 任务函数.............................................................57
(30)静态模式 .................................................................58
(31)类型转换 .................................................................59
(32)函数调用接口的改变 .......................................................60
(33)Pascal 函数...............................................................60
(34)函数调用接口的自动 Pascal 化 ..............................................61
(35)闪存区域分配方法 .........................................................61
(36)闪存区域跳转表 ...........................................................62
(37)启动区域和闪存区域内的函数调用功能 ....................................... 63
(38)固件 ROM 函数 .............................................................64
(39)参数/返回值扩展限制方法 ..................................................65
(40)数组偏移量的简化计算方法 .................................................66
iii
(41)寄存器直接引用函数 .......................................................67
(42)[HL+B]基址加变址寻址 .....................................................69
(43)在片固件自编程子程序直接调用函数 ......................................... 70
(44)__flashf 函数.............................................................73
(45)Memory 操作函数...........................................................74
(46)绝对地址配置规范 .........................................................75
(47)静态模式扩展规范 .........................................................76
(48)临时变量(__temp) .........................................................78
(49)支持序言/尾声的库函数(-ZD) ...............................................79
4.5 C 代码修正...................................................................79
4.6 函数调用接口 ................................................................80
4.6.1 返回值 ..................................................................80
4.6.2 普通函数调用接口 ........................................................80
4.6.3 noauto 函数调用接口......................................................81
4.6.4 norec 函数调用接口.......................................................82
4.6.5 静态型函数的调用 ........................................................83
4.6.6 Pascal 函数调用接口......................................................83
第 5 章 引用汇编............................................................. 85
5.1 参数/自变量的访问方法 .......................................................85
5.2 返回值的存储方法 ............................................................87
5.3 从 C 语言中调用汇编程序 ......................................................87
5.4 从汇编语言中调用 C 语言程序 ..................................................90
5.5 引用其它语言定义的变量 ......................................................92
第 6 章 ROM 化 ................................................................ 95
6.1 ROM 化流程...................................................................95
6.2 启动例行程序 ................................................................95
6.2.1 文件结构 ................................................................96
6.2.2 BAT 目录下的内容.........................................................96
6.2.3 SRC 目录下的内容.........................................................97
6.3 批处理文件的说明 ............................................................98
6.4 启动例行程序 ................................................................99
6.4.1 启动例行程序概述 ........................................................99
6.4.2 范例程序(cstart.asm)的说明 .............................................101
第7章 编译器的高效使用 .................................................109
7.1 编码效率改进 ...............................................................109
附录A C编译器的性能极限 ..............................................110
剩余127页未读,继续阅读
资源评论
tclandmei
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功