网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 嵌入式软件基础--C语言与汇编的融合(附光盘翻译版)
分类
作者 (美)刘易斯
出版社 高等教育出版社
下载
简介
编辑推荐

  本书是对高等院校本科二年级计算机组成原理与汇编语言程序设计的传统教材的全新替代版。本书以实践中最常运用的方式讲解汇编语言——实现小型、快速或特殊目的的例程,这些例程由主程序(高级语言编写,如C)调用。通过运用嵌入式软件环境,本书介绍多线程程序设计、可抢占式系统与非可抢占式系统、共享资源和调度,从而为操作系统、实时系统、计算机网络及基于多处理器的设计等后续课程提供了坚实的基础。

  本书适用于高等院校工科各专业本科嵌入式计算机系统程序设计、C语言程序设计及汇编语言程序设计类课程,也可供相关技术人员学习参考。

目录

序言1

第1章 导论1

1.1什么是嵌入式系统1

1.2嵌入式软件设计目标有何独特之处2

1.3“实时”意味着什么4

1.4“多任务”意味着什么5

1.5嵌入式处理器的功能有多强6

1.6使用哪些编程语言6

1.7什么是“实时内核”7

1.8如何构建独特的嵌入式应用程序8

1.9典型的嵌入式程序有多大10

1.10本书中使用的软件11

习题12

第2章 数据表示13

2.1固定精度的二进制数字13

2.1.1按位记数制14

2.1.2二进制一十进制转换15

2.1.3十进制一二进制转换15

2.1.4计数16

2.1.5固定精度和翻转17

2.1.6十六进制表示17

2.2整数的二进制表示18

2.2.1带符号整数18

2.2.2同一个值的正的表示和负的表示19

2.2.3解释2的补码数的值20

2.2.4关于范围和溢出的进一步说明20

2.2.52的补码和硬件复杂性21

2.3实数的二进制表示24

2.3.1定点表示24

2.3.2使用通用的16.16格式的

定点表示26

2.3.3使用通用的32.32格式的

定点表示27

2.3.4浮点表示30

2.4.文本的ASCII表示32

2.5二进制编码的十进制表示34

习题35

第3章 充分利用C语言37

3.1整型数据类型37

3.2混合数据类型40

3.3有用的typedef和define40

3.4操纵内存中的位41

3.4.1测试位43

3.4.2设置、清除和反转位44

3.4.3提取位45

3.4.4插入位45

3.5操纵:I/O端口中的位46

3.5.1只写I/O端口46

3.5.2通过读/写区分的端口47

3.5.3通过顺序访问区分的端口47

3.5.4通过写入数据中的位区分的端口48

3.6访问内存映射的I/O设备48

3.6.1通过指针访问数据48

3.6.2数组、指针和“取地址”运算符49

3.7结构50

3.7.1打包的结构5l

3.7.2位域53

3.8变型访问54

3.8.1强制转换对象的地址54

3.8.2使用共用体55

习题56

第4章 程序员眼中的计算机结构58

4.1内存58

4.2中央处理器59

4.2.1运算器60

4.2.2其他寄存器61

4.2.3控制器6l

4.3输入/输出62

4.4Intel架构介绍-63

4.4.1指令格式64

4.4.2指令操作数64

4.4.3操作数限制65

4.4.4寄存器66

4.4.5栈68

4.5Intel实模式架构69

4.5.1分段寻址70

4.5.2寻址模式72

4.6Intel保护模式架构74

4.6.1段寄存器和全局描述符表74

4.6.2坦内存模型75

4.6.3寻址模式75

4.7操作数与地址长度覆盖前缀76

4.8Intel数据操纵指令76

4.8.1数据移动、栈和I/O指令77

4.8.2算术指令78

4.8.3按位指令80

4.8.4移位指令81

习题83

第5章 c语言与汇编语言的融合85

5.1用汇编语言编程85

5.2寄存器使用约定86

5.3寻址选项的典型应用87

5.3.1访问地址为常量的数据87

5.3.2访问地址为变量的数据88

5.4指令序列89

5.4.1复合条件91

5.4.2.If-Then.Else语句93

5.4-3建立循环93

5.4.4带字符串指令的更快的循环94

5.5过程调用和返回96

5.6参数传递97

5.7获取参数99

5.8一切都是按值传递100

5.9临时变量101

习题104

第6章 输入/输出编程106

6.1:IntelI/O指令106

6.2同步、传送速率和等待时间107

6.3轮询的等待循环108

6.4和断驱动的I/O110

6.4.1硬件响应110

6.4.2E仁断服务例程112

6.4.3可编程中断控制器114

6.4.4缓冲区与队列115

6.4.5用汇编语言编写中断服务例程117

6.4.6用C语言编写中断服务例程117

6.4.7不可屏蔽的中断119

6.4.8软件中断:120

6.4.9异常120

6.5直接存储器存取121

6.5.1双缓冲122

6.6几种方法的比较123

习题123

第7章 并发软件126

7.1前台/后台系统“126

7.1.1线程状态和串行化126

7.1.2管理等待时间127

7.1-3防止中断越界129

7.1.4将工作转移到后台131

7.2多线程编程131

7.2.1独立线程的并发执行132

7.2.2环境切换”133

7.2.3非抢先式(协作式)多任务处理133

7.2.4抢先式多任务134

7.3共享资源和临界区135

7.3.1禁用中断136

7.3.2禁用任务切换136

7.3.3自旋锁136

7.3.4互斥对象137

7.3.5信号量137

习题138

第8章 调度140

8.1线程状态140

8.2挂起线程140

8.3环境切换141

8.4循环调度143

8.5基于优先级的调度143

8.5.1优先级倒置143

8.5.2优先级继承协议144

8.5.3优先级最高限度协议144

8.6分配优先级145

8.6.1截止期限驱动的调度145

8.6.2速率单调调度146

8.7死锁146

8.8监视计时器147

习题149

第9章 内存管理151

9.1C语言中的对象151

9.2作用域152

9.2.1进一步认识局部作用域152

9.2.2进一步认识全局作用域153

9.3生存期154

9.4自动分配154

9.4.1存储类“寄存器”155

9.5静态分配156

9.6用于区分静态与自动的3个程序157

9.6.1对象创建157

9.6.2对象初始化158

9.6-3对象析构159

9.7动态分配160

9.7.1内存碎片161

9.7.2内存分配池161

9.8可变大小的自动分配16l

9.8.1可变大小的数组162

9.9递归函数与内存分配163

习题164

第10章 共享内存170

10.1识别共享对象170

10.1.1共享全局数据170

10.1.2共享私有数据170

10.1-3共享函数171

10.2可重入函数171

10.3只读数据171

10.3.1类型限定符const172

10.4应避免的编码习惯172

10.4.1在局部静态对象中保持

内部状态的函数173

10.4.2返回局部静态对象地址的函数174

10.5访问共享内存176

10.5.1处理器字长的影响177

10.5.2只读和只写访问177

10.5.3类型限定符volatile178

习题180

第11章 系统初始化182

11.1内存布局182

11.2CPU183

11.2.1建立平坦内存模型183

11.2.2切换到保护模式185

11-3c运行时环境186

1l.3.1从ROM复制到RAM中186

11.3.2将未初始化数据置O187

1113.3建立堆188

11.4系统计时器189

11.4.1计时器0:计时器滴答信号189

11.4.2计时器1:内存刷新190

11.4.3计时器2:扬声器频率190

11.5中断系统191

11.5.1初始化IDT191

11.5.2初始化8259PIC193

11.5.3安装新的中断服务例程194

附录A配书光盘上的内容196

附录BDJGPPC/C++编译器197

附录CNASM;I-编器199

附录D编程项目201

附录Elibepc库216

附录F引导加载程序225

附录G词汇表228

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/22 23:57:22