本C源程序可用于求M阶矩阵的行列式。其中M直接宏定义
上传时间: 2017-05-16
上传用户:1427796291
C语言宏定义技巧(常用宏定义)
标签: C语言宏定义技巧(常用宏定义)
上传时间: 2015-07-19
上传用户:HelloPal
一本很好的汇编语言教程,跟大家一起分享 课程介绍 第1章 预备知识 1.1 汇编语言的由来及其特点 1 机器语言 2 汇编语言 3 汇编程序 4 汇编语言的主要特点 5 汇编语言的使用领域 1.2 数据的表示和类型 1 数值数据的表示 2 非数值数据的表示 3 基本的数据类型 1.3 习题 第2章 CPU资源和存储器 2.1 寄存器组 1 寄存器组 2 通用寄存器的作用 3 专用寄存器的作用 2.2 存储器的管理模式 1 16位微机的内存管理模式 2 32位微机的内存管理模式 2.3 习题 第3章 操作数的寻址方式 3.1 立即寻址方式 3.2 寄存器寻址方式 3.3 直接寻址方式 3.4 寄存器间接寻址方式 3.5 寄存器相对寻址方式 3.6 基址加变址寻址方式 3.7 相对基址加变址寻址方式 3.8 32位地址的寻址方式 3.9 操作数寻址方式的小结 3.10 习题 第4章 标识符和表达式 4.1 标识符 4.2 简单内存变量的定义 1 内存变量定义的一般形式 2 字节变量 3 字变量 4 双字变量 5 六字节变量 6 八字节变量 7 十字节变量 4.3 调整偏移量伪指令 1 偶对齐伪指令 2 对齐伪指令 3 调整偏移量伪指令 4 偏移量计数器的值 4.4 复合内存变量的定义 1 重复说明符 2 结构类型的定义 3 联合类型的定义 4 记录类型的定义 5 数据类型的自定义 4.5 标号 4.6 内存变量和标号的属性 1 段属性操作符 2 偏移量属性操作符 3 类型属性操作符 4 长度属性操作符 5 容量属性操作符 6 强制属性操作符 7 存储单元别名操作符 4.7 表达式 1 进制伪指令 2 数值表达式 3 地址表达式 4.8 符号定义语句 1 等价语句 2 等号语句 3 符号名定义语句 4.9 习题 第5章 微机CPU的指令系统 5.1 汇编语言指令格式 1 指令格式 2 了解指令的几个方面 5.2 指令系统 1 数据传送指令 2 标志位操作指令 3 算术运算指令 4 逻辑运算指令 5 移位操作指令 6 位操作指令 7 比较运算指令 8 循环指令 9 转移指令 10 条件设置字节指令 11 字符串操作指令 12 ASCII-BCD码调整指令 13 处理器指令 5.3 习题 第6章 程序的基本结构 6.1 程序的基本组成 1 段的定义 2 段寄存器的说明语句 3 堆栈段的说明 4 源程序的结构 6.2 程序的基本结构 1 顺序结构 2 分支结构 3 循环结构 6.3 段的基本属性 1 对齐类型 2 组合类型 3 类别 4 段组 6.4 简化的段定义 1 存储模型说明伪指令 2 简化段定义伪指令 3 简化段段名的引用 6.5 源程序的辅助说明伪指令 1 模块名定义伪指令 2 页面定义伪指令 3 标题定义伪指令 4 子标题定义伪指令 6.6 习题 第7章 子程序和库 7.1 子程序的定义 7.2 子程序的调用和返回指令 1 调用指令 2 返回指令 7.3 子程序的参数传递 1 寄存器传递参数 2 存储单元传递参数 3 堆栈传递参数 7.4 寄存器的保护与恢复 7.5 子程序的完全定义 1 子程序完全定义格式 2 子程序的位距 3 子程序的语言类型 4 子程序的可见性 5 子程序的起始和结束操作 6 寄存器的保护和恢复 7 子程序的参数传递 8 子程序的原型说明 9 子程序的调用伪指令 10 局部变量的定义 7.6 子程序库 1 建立库文件命令 2 建立库文件举例 3 库文件的应用 4 库文件的好处 7.7 习题 第8章 输入输出和中断 8.1 输入输出的基本概念 1 I/O端口地址 2 I/O指令 8.2 中断 1 中断的基本概念 2 中断指令 3 中断返回指令 4 中断和子程序 8.3 中断的分类 1 键盘输入的中断功能 2 屏幕显示的中断功能 3 打印输出的中断功能 4 串行通信口的中断功能 5 鼠标的中断功能 6 目录和文件的中断功能 7 内存管理的中断功能 8 读取和设置中断向量 8.4 习题 第9章 宏 9.1 宏的定义和引用 1 宏的定义 2 宏的引用 3 宏的参数传递方式 4 宏的嵌套定义 5 宏与子程序的区别 9.2 宏参数的特殊运算符 1 连接运算符 2 字符串整体传递运算符 3 字符转义运算符 4 计算表达式运算符 9.3 与宏有关的伪指令 1 局部标号伪指令 2 取消宏定义伪指令 3 中止宏扩展伪指令 9.4 重复汇编伪指令 1 伪指令REPT 2 伪指令IRP 3 伪指令IRPC 9.5 条件汇编伪指令 1 条件汇编伪指令的功能 2 条件汇编伪指令的举例 9.6 宏的扩充 1 宏定义形式 2 重复伪指令REPEAT 3 循环伪指令WHILE 4 循环伪指令FOR 5 循环伪指令FORC 6 转移伪指令GOTO 7 宏扩充的举例 8 系统定义的宏 9.7 习题 第10章 应用程序的设计 10.1 字符串的处理程序 10.2 数据的分类统计程序 10.3 数据转换程序 10.4 文件操作程序 10.5 动态数据的编程 10.6 COM文件的编程 10.7 驻留程序 10.8 程序段前缀及其应用 1 程序段前缀的字段含义 2 程序段前缀的应用 10.9 习题 第11章 数值运算协处理器 11.1 协处理器的数据格式 1 有符号整数 2 BCD码数据 3 浮点数 11.2 协处理器的结构 11.3 协处理器的指令系统 1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 12.1 汇编语言的嵌入 12.2 C语言程序的汇编输出 12.3 一个具体的例子 12.4 习题 附录
上传时间: 2013-07-05
上传用户:hw1688888
MSP430系列单片机C语言程序设计与开发MSP430系列是一个具有明显技术特色的单片机品种。关于它的硬件特性及汇编语言程序设计已在《MSP430系列超低功耗16位单片机的原理与应用》及《MSP430系列 FLASH型超低功耗16位单片机》等书中作了全面介绍。《MSP430系列单片机C语言程序设计与开发》介绍IAR公司为MSP430系列单片机配备的C程序设计语言C430。书中叙述了C语言的基本概念、C430的扩展特性及C库函数;对C430的集成开发环境的使用及出错信息作了详尽的说明;并以MSP430F149为例,对各种应用问题及外围模块操作提供了典型的C程序例程,供读者在今后的C430程序设计中参考。 《MSP430系列单片机C语言程序设计与开发》可以作为高等院校计算机、自动化及电子技术类专业的教学参考书,也可作为工程技术人员设计开发时的技术资料。MSP430系列超低功耗16位单片机的原理与应用目录MSP430系列单片机C语言程序设计与开发 目录 第1章 C语言基本知识1.1 标识符与关键字11.1.1 标识符11.1.2 关键字11.2 数据基本类型21.2.1 整型数据21.2.2 实型数据31.2.3 字符型数据41.2.4 各种数据转换关系61.3 C语言的运算符71.3.1 算术运算符71.3.2 关系运算符和逻辑运算符71.3.3 赋值运算符81.3.4 逗号运算符81.3.5 ? 与 :运算符81.3.6 强制转换运算符91.3.7 各种运算符优先级列表91.4 程序设计的三种基本结构101.4.1 语句的概念101.4.2 顺序结构111.4.3 选择结构121.4.4 循环结构141.5 函数181.5.1 函数定义181.5.2 局部变量与全局变量191.5.3 形式参数与实际参数201.5.4 函数调用方式201.5.5 函数嵌套调用211.5.6 变量的存储类别221.5.7 内部函数和外部函数231.6 数组231.6.1 一维数组241.6.2 多维数组241.6.3 字符数组261.7 指针271.7.1 指针与地址的概念271.7.2 指针变量的定义281.7.3 指针变量的引用281.7.4 数组的指针281.7.5 函数的指针301.7.6 指针数组311.8 结构和联合321.8.1 结构定义321.8.2 结构类型变量的定义331.8.3 结构类型变量的初始化341.8.4 结构类型变量的引用341.8.5 联合341.9 枚举361.9.1 枚举的定义361.9.2 枚举元素的值371.9. 3 枚举变量的使用371.10 类型定义381.10.1 类型定义的形式381.10.2 类型定义的使用381.11 位运算391.11.1 位运算符391.11.2 位域401.12 预处理功能411.12.1 简单宏定义和带参数宏定义411.12.2 文件包含431.12.3 条件编译命令44第2章 C430--MSP430系列的C语言2.1 MSP430系列的C语言452.1.1 C430概述452.1.2 C430程序设计工作流程462.1.3 开始462.1.4 C430程序生成472.2 C430的数据表达482.2.1 数据类型482.2.2 编码效率502.3 C430的配置512.3.1 引言512.3. 2 存储器分配522.3.3 堆栈体积522.3.4 输入输出522.3.5 寄存器的访问542.3.6 堆体积542.3.7 初始化54第3章 C430的开发调试环境3.1 引言563.1.1 Workbench特性563.1.2 Workbench的内嵌编辑器特性563.1.3 C编译器特性573.1. 4 汇编器特性573.1.5 连接器特性583.1.6 库管理器特性583.1.7 C?SPY调试器特性593.2 Workbench概述593.2.1 项目管理模式593.2.2 选项设置603.2.3 建立项目603.2.4 测试代码613.2.5 样本应用程序613.3 Workbench的操作623.3.1 开始633.3.2 编译项目683.3.3 连接项目693.3.4 调试项目713.3.5 使用Make命令733.4 Workbench的功能汇总753.4.1 Workbench的窗口753.4.2 Workbench的菜单功能813.5 Workbench的内嵌编辑器993.5.1 内嵌编辑器操作993.5.2 编辑键说明993.6 C?SPY概述1013.6.1 C?SPY的C语言级和汇编语言级调试1013.6.2 程序的执行1023.7 C?SPY的操作1033.7.1 程序生成1033.7.2 编译与连接1033.7.3 C?SPY运行1033.7.4 C语言级调试1043.7.5 汇编级调试1113.8 C?SPY的功能汇总1133.8.1 C?SPY的窗口1133.8.2 C?SPY的菜单命令功能1203.9 C?SPY的表达式与宏1323.9.1 汇编语言表达式1323.9.2 C语言表达式1333.9.3 C?SPY宏1353.9.4 C?SPY的设置宏1373.9.5 C?SPY的系统宏137 第4章 C430程序设计实例4.1 程序设计与调试环境1434.1.1 程序设计调试集成环境1434.1.2 设备连接1444.1.3 ProF149实验系统1444.2 数值计算1454.2.1 C语言表达式1454.2.2 利用MPY实现运算1464.3 循环结构1474.4 选择结构1484.5 SFR访问1494.6 RAM访问1504.7 FLASH访问1514.8 WDT操作1534.8. 1 WDT使程序自动复位1534.8.2 程序对WATCHDOG计数溢出的控制1544.8.3 WDT的定时器功能1554.9 Timer操作1554.9.1 用Timer产生时钟信号1554.9.2 用Timer检测脉冲宽度1564.10 UART操作1574.10.1 点对点通信1574.10.2 点对多点通信1604.11 SPI操作1634.12 比较器操作1654.13 ADC12操作1674.13.1 单通道单次转换1674.13.2 序列通道多次转换1684.14 时钟模块操作1704.15 中断服务程序1714.16 省电工作模式1754.17 调用汇编语言子程序1764.17.1 程序举例1764.17.2 生成C程序调用的汇编子程序177第5章 C430的扩展特性5.1 C430的语言扩展概述1785.1.1 扩展关键字1785.1.2 #pragma编译命令1785.1.3 预定义符号1795.1.4 本征函数1795.1.5 其他扩展特性1795.2 C430的关键字扩展1795.2.1 interrupt1805.2.2 monitor1805.2.3 no_init1815.2.4 sfrb1815.2.5 sfrw1825.3 C430的 #pragma编译命令1825.3.1 bitfields=default1825.3.2 bitfields=reversed1825.3.3 codeseg1835.3.4 function=default1835.3.5 function=interrupt1845.3.6 function=monitor1845.3.7 language=default1845.3.8 language=extended1845.3.9 memory=constseg1855.3.10 memory=dataseg1855.3.11 memory=default1855.3.12 memory=no_init1865.3.13 warnings=default1865.3.14 warnings=off1865.3.15 warnings=on1865.4 C430的预定义符号1865.4.1 DATE1875.4.2 FILE1875.4.3 IAR_SYSTEMS_ICC1875.4.4 LINE1875.4.5 STDC1875.4.6 TID1875.4.7 TIME1885.4.8 VER1885.5 C430的本征函数1885.5.1 _args$1885.5.2 _argt$1895.5.3 _BIC_SR1895.5.4 _BIS_SR1905.5.5 _DINT1905.5.6 _EINT1905.5.7 _NOP1905.5.8 _OPC1905.6 C430的汇编语言接口1915.6.1 创建汇编子程序框架1915.6.2 调用规则1915.6.3 C程序调用汇编子程序1935.7 C430的段定义1935.7.1 存储器分布与段定义1945.7.2 CCSTR段1945.7.3 CDATA0段1945.7.4 CODE段1955.7.5 CONST1955.7.6 CSTACK1955.7.7 CSTR1955.7.8 ECSTR1955.7.9 IDATA01965.7.10 INTVEC1965.7.11 NO_INIT1965.7.12 UDATA0196第6章 C430的库函数6.1 引言1976.1.1 库模块文件1976.1.2 头文件1976.1.3 库定义汇总1976.2C 库函数参考2046.2.1 C库函数的说明格式2046.2.2 C库函数说明204第7章 C430编译器的诊断消息7.1 编译诊断消息的类型2307.2 编译出错消息2317.3 编译警告消息243附录 AMSP430系列FLASH型芯片资料248附录 BProF149实验系统251附录 CMSP430x14x.H文件253附录 DIAR MSP430 C语言产品介绍275
上传时间: 2014-05-05
上传用户:253189838
SPCE061A采用的内核 SPCE061A采用的内核(CPU)为μ‘nSP。 μ‘nSP(读做micro-n-S-P)是凌阳科技推出的16位微处理器,它的突出特点是较高的处理速度,这就使其有能力进行复杂的数字信号处理(DSP,Digital Signal Processing)。 μ‘nSP内核由凌阳自主开发,因而也具备它自己的指令系统。 指令系统.61 3.1 指令系统的概述及符号约定.61 3.2 数据传送指令62 3.3 算术运算..66 3.3.1 加法运算..67 3.3.2 减法运算..68 3.3.3 带进位的加减运算.70 3.3.4 取补运算..70 3.3.5 SPCE061A的乘法指令.71 3.3.6 SPCE061A的n项内积运算指令.71 3.3.7 比较运算(影响标志位N,Z,S,C)..73 3.4 SPCE061A的逻辑运算.74 3.4.1 逻辑与..74 3.4.2 逻辑或..75 3.4.3 逻辑异或..76 3.4.4 测试(TEST).78 3.4.5 SPCE061A的移位操作.80 3.5 SPCE061A的控制转移类指令..83 3.6 伪指令86 3.6.1 伪指令的语法格式及特点..87 3.6.2 伪指令符号约定..87 3.6.3 标准伪指令.87 3.6.4 宏定义与调用98 3.6.5 段的定义与调用101 3.6.6 结构的定义与调用..102 3.6.7 过程的定义与调用..106 3.6.8 伪指令的应用举例..106
上传时间: 2013-10-31
上传用户:xuanchangri
简单电子琴的51单片机程序 #include<reg51.h> //包含51单片机寄存器定义的头文件 sbit P14=P1^4; //将P14位定义为P1.4引脚 sbit P15=P1^5; //将P15位定义为P1.5引脚 sbit P16=P1^6; //将P16位定义为P1.6引脚 sbit P17=P1^7; //将P17位定义为P1.7引脚 unsigned char keyval; //定义变量储存按键值 sbit sound=P2^0; //将sound定义为P2.0 unsigned int C; //全局变量,储存定时器的定时常数 unsigned int f; //全局变量,储存音阶的频率 //以下是C调低音的音频宏定义 #define l_dao 262 //将“l_dao”宏定义为低音“1”的频率262Hz #define l_re 294 //将“l_re” 宏定义为低音“2”的频率294Hz #define l_mi 330 //将“l_mi” 宏定义为低音“3”的频率330Hz #define l_fa 349 //将“l_fa” 宏定义为低音“4”的频率349Hz #define l_sao 392 //将“l_sao”宏定义为低音“5”的频率392Hz #define l_la 440 //将“l_la” 宏定义为低音“6”的频率440Hz #define l_xi 494 //将“l_xi” 宏定义为低音“7”的频率494Hz //以下是C调中音的音频宏定义 #define dao 523 //将“dao”宏定义为低音“1”的频率Hz #define re 587 //将“re” 宏定义为低音“2”的频率Hz #define mi 659 //将“mi” 宏定义为低音“3”的频率Hz #define fa 698 //将“fa” 宏定义为低音“4”的频率Hz #define sao 784 //将“sao”宏定义为低音“5”的频率Hz #define la 880 //将“la” 宏定义为低音“6”的频率Hz #define xi 988 //将“xi” 宏定义为低音“7”的频率Hz
上传时间: 2013-11-09
上传用户:tian126vip
目录 C语言基础知识 C 语言简介 C 语言的特点… C 语言的发展和标准化…数据类型、运算、表达式和编译预处理 数据类型… 基本类型与数据表示 整数类型和整数的表示… 实数类型和实数的表示… 字符类型和字符的表示… 运算符、表达式与计算… 算术运算符 算术表达式 表达式的求值… 变量——概念、定义和使用… 变量的定义0 变量的使用:取值与赋值 预处理 文件包含命令… 宏定义与宏替换…逻辑判断与运算… 关系运算和逻辑运算 复杂条件的描述0 i f语句循环控制 whi le语句 for语句… 循环程序常用的若干机制 增量和减量运算符(++、--) 逗号运算符 控制结构和控制语句 do-while循环结构… 流程控制语句… goto语句… 开关语句…函数 概述… 函数定义和程序的函数分解… 函数定义… 函数调用…数组 数组的概念、定义和使用 数组变量定义… 数组的使用 数组的初始化…结构 结构(struct) 结构说明与变量定义 结构变量的初始化和使用 结构与函数 处理结构的函数0指针 指针的概念 指针操作… 指针作为函数的参数 与指针有关的一些问题… 指针与数组 指向数组元素的指针 基于指针运算的数组程序设计 数组参数与指针 字符指针与字符数组0
上传时间: 2013-11-16
上传用户:asdkin
HM701NEP(S3C44B0X)基本启动代码,在此基础上可以做各种实验,包括个6文件,44BINIT.S 汇编代码,系统上电、复位及异常处理的入口点。 Memcfg.s 汇编代码,外部存储空间配置 OPTION.S 汇编代码,一些汇编宏定义:RAM的起始地址,中断入口表地址、RAM类型、系统主频、PLL控制字等 44B.H S3C44B0X的寄存器地址宏定义 OPTION.h 供C程序使用的一些反映系统工作方式的基本宏定义 Def.h 一些数据类型的缩写
上传时间: 2015-03-12
上传用户:来茴
/*[原创]一个树形多级菜单参考程序 这是一个用于车载电话的菜单程序,可以看成是手机功能菜单的简化板. 我所认为的树形多级菜单是指:在一个父菜单项目下面有多个子菜单, 子菜单下面又有多个孙菜单...,进入下层菜单主要依*当前选中的索引.有点象文件的目录结构. 本木从前实现这类的菜单主要*分层的switch语句,每层都是一个switch.但当我看到晓奇大侠的 程序和耳朵灌满lq等人的争论后,那时那地,我的心境变化了,我意识到指针代表了先进的生产力, 代表了社会的发展方向,是建设和谐社会的必要条件.不管你用了多长时间C语言,只要你不善于用 一个小针指来指去,你就是那种"用嘴吃饭的高贵骑士,决不用屁股装弹步枪"的守旧分子和社会发 展的绊脚石.(跑题太远,删去1万字...打住) .言归正传,下面的程序适用CPU为Mega16,编译器为CVAVR 1.24.4a 由于按键数目较多,所以按键程 序把按键事件分为数字键,快捷键,确认键,取消键,上下翻键几类,以减小菜单结构的容量.一下菜单 数据在菜单结构数组中的偏移量,有多少个菜单象就有多少个宏定义*/
上传时间: 2013-11-28
上传用户:tianyi223
非常好的数学公式计算源代码,支持程序运行时公式的自定义,支持宏定义、常量定义、函数定义
上传时间: 2013-12-23
上传用户:yan2267246