一本很好的汇编语言教程,跟大家一起分享 课程介绍 第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
蓝牙(Bluetooth)技术是近年来国外先进国家研究发展最快的短程无线通信技术之一,能够广泛地应用于工业短距离无线控制装置、近距离移动无线控制设备、机器人控制、办公自动化及多媒体娱乐设备等局部范围内无线数据传输的领域中。在我国,由于对蓝牙技术的研究还处于研究开发的初级阶段, 还没有形成蓝牙数据短距离无线通信的一套开放性应用标准。 在无线音频传输领域内,传统的基于模拟调制方式的无线音频传输由于抗干扰能力较差,传输的音频质量会受到较大的影响,而国内市场上的蓝牙音频产品仅支持单声道语音传输。所以,对基于蓝牙技术的高品质多通道音频传输技术的研究将具有一定的技术创新性,在无线音频传输领域也具有较为广阔的市场前景。 本文以嵌入式蓝牙技术与音频信号传输系统为研究开发课题,参考国外蓝牙技术协议标准,利用功能模块单元与嵌入式技术,目标是研制一种基于嵌入式开发应用的高品质双声道蓝牙无线音频传输系统。本系统通过对双声道线性模拟音源的数字化MP3编解码处理,结合基于嵌入式应用的简化后的HCI层蓝牙应用协议,实现了蓝牙信道带宽内的高品质双声道音频信号点对点的传输。 在硬件设计上,系统采用了模块化设计思想。发送端和接收端由音频处理模块、控制传输模块和无线模块三部分构成。其中,音频处理模块以MAS3587音频处理芯片为核心,负责音频信号的AD采样、MP3压缩和解压缩以及DA还原等工作;控制传输模块以MSP430F169为核心,负责MP3数据帧的高速传输以及蓝牙接口协议控制;无线模块采用蓝牙单芯片解决方案(集成蓝牙射频、基带和链路管理等),负责MP3数据帧的射频发送和接收。模块与模块之间采用工业标准接口方式连接。音频处理模块和控制传输模块之间采用DMA方式的通用并口(PIO);控制传输模块与蓝牙模块之间采用DMA方式的通用异步串口(UART)。 在软件设计上,系统主要由蓝牙协议解释、传输控制和芯片驱动三部分构成。在蓝牙协议解释上,系统采用了基于HCI层的ACL数据包透明传输方式;在传输控制上,采用了基于通用并口(PIO)和异步串口(UART)的DMA方式高效率批量数据传输技术;芯片驱动主要指对MAS3587的基本配置。 对目标系统的测试实验采用了目前流行的音频测试虚拟仪器软件Adobe Audition 1.5。实验项目包括扫频测试、音乐测试、听觉测试、距离测试以及抗干扰测试等。实验结果表明,输入音源在经过MP3编码、发射、接收及MP3解码后,音频质量基本上没受影响,实际双声道音质接近于CD音质,而无线传输的可靠性远高于模拟无线音频传输,几乎没有断音与错音,充分体现了嵌入式蓝牙无线技术的优势。
上传时间: 2013-05-27
上传用户:稀世之宝039
随着计算机网络与嵌入式控制技术的迅速发展,作为传统运输行业的铁路系统对此也有了新的要求,列车通信网络应运而生。经过多年的发展,国际电工委员会(IEC)为了规范列车通信网络,于1999年通过了IEC61375-1标准。该标准将列车通信网络分为两条总线:绞线式列车总线(WTB)和多功能车辆总线(MVB)。MVB是一个标准通信介质,为挂在其上的设备传输和交换数据。而多功能车辆总线控制器(MVBC)是MVB与MVB实际物理层之间的接口,其主要实现MVB数据链路层的功能。由于该项关键技术仍被国外公司垄断,因此开发具有自主知识产权的MVBC迫在眉睫。 鉴于上述原因,本文深入研究了IEC61375-1标准。根据MVBC的技术特点,本文提出了使用FPGA来实现其具体功能的方案。挂在MVB总线上的设备分为五类,他们的功能各不相同。而支持4类设备的MVBC具有设备状态、过程数据、消息数据通信和总线管理功能,并且兼容2类和3类设备。本文的目的就是用FPGA实现支持4类设备的MVBC。 本文采用自顶向下的设计方法。整个MVBC主要划分为:编码模块、译码模块、冗余控制模块、报文分析单元、通信存储控制器、主控制单元、地址逻辑模块。在整个开发流程中,使用Xilinx的ISE集成开发环境。使用Verilog HDL硬件描述语言对上述各个模块进行RTL级描述,并用Synplify Pro进行综合。最后,在ModelSim中对各个模块进行了布线后仿真和验证。 在实验室条件下,通过严格的仿真验证后,其结果证明了本文设计的模块达到了IEC61375-1标准的要求。因此,用FPGA实现MVBC这一方案具有可操作性。 关键词:列车通信网;多功能车辆总线;多功能车辆总线控制器;现场可编程门阵列
上传时间: 2013-07-18
上传用户:wxhwjf
近红外光谱法是血液成分无创检测方法中的热点,也是取得成果最多的方法之一。但是,个体差异和测量条件是影响近红外光谱血液成分无创检测的一个较突出的问题。而动态光谱法就是针对这个问题而提出的一种全新的近红外无创血液成分浓度检测方法。它从原理上消除了个体差异和测量条件等对光谱检测的影响,为基于近红外光谱法的血液成分无创检测方法进入临床应用去除了一个较为关键的障碍。因此,本文根据动态光谱检测原理设计了基于FPGA的动态光谱数据采集系统。 在分析了动态光谱数据采集系统的性能要求后,采用DALSA的高性能线阵CCD IL-C6-2048C作为光电转换器件;根据CCD输出数据的高速度和信号微弱及含有噪声等特点,选用了高速、高精度、并带有相关双采样芯片的图像处理芯片AD9826作为模数转换器件;以FPGA及其内嵌的NIOSⅡ处理器作为核心控制器,并用LabVIEW对采集得到的数据进行显示。 在FPGA中,利用Verilog HDL语言编写了CCD和AD9826的控制时序;利用两块双口RAM组成乒乓操作单元,实现高速数据的缓存,避免利用NiosⅡ处理器直接读取时的频繁中断。将NIOSⅡ处理器系统嵌入到FPGA中,实现整个系统的管理。NiOSⅡ处理器利用中断方式读取缓存单元中的数据、经对数变换后传递给计算机。其中缓存数据的读取及对数变换均采用自定义组件的方式将硬件单元添加到NIOSⅡ系统中,编程时直接调用。NIOSⅡ系统通过串口将处理后的数据传递给LabVIEW, LabVIEW对数据简单处理后显示,以实时观察采样数据是否正确。 最后对系统进行了实验测试,实验结果表明,系统能够很好的采集并显示数据,能够初步完成光信号的检测。
上传时间: 2013-04-24
上传用户:luyanping
随着计算机技术和通信技术的迅速发展,数字视频在信息社会中发挥着越来越重要的作用,视频传输系统已经被广泛应用于交通管理、工业监控、广播电视、银行、商场等多个领域。同时,FPGA单片规模的不断扩大,在FPGA芯片内部实现复杂的数字信号处理系统也成为现实,因此采用FPGA实现视频压缩和传输已成为一种最佳选择。 本文将视频压缩技术和光纤传输技术相结合,设计了一种基于无损压缩算法的多路数字视频光纤传输系统,系统利用时分复用和无损压缩技术,采用串行数字视频传输的方式,可在一根光纤中同时传输8路以上视频信号。系统在总体设计时,确定了基于FPGA的设计方案,采用ADI公司的AD9280和AD9708芯片实现A/D转换和D/A转换,在FPGA里实现系统的时分复用/解复用、视频数据压缩/解压缩和线路码编解码,利用光收发一体模块实现电光转换和光电转换。视频压缩采用LZW无损压缩算法,用Verilog语言设计了压缩模块和解压缩模块,利用Xilinx公司的IP核生成工具Core Generator生成FIFO来缓存压缩/解压缩单元的输入输出数据,光纤线路码采用CIMT码,设计了编解码模块,解码过程中,利用数字锁相环来实现发射与接收的帧同步,在ISE8.2和Modelsim仿真环境下对FPGA模块进行了功能仿真和时序仿真,并在Spartan-3E开发板和视频扩展板上完成了系统的硬件调试与验证工作,实验证明,系统工作稳定,图像清晰,实时传输效果好,可用于交通、安防、工业监控等多个领域。 本文将视频压缩和线路码编解码在FPGA里实现,利用FPGA的并行处理优势,大大提高了系统的处理速度,使系统具有集成度高、灵活性强、调试方便、抗干扰能力强、易于升级等特点。
上传时间: 2013-06-27
上传用户:几何公差
智能化住宅小区,是指在一定范围内通过有效的传输网络,将多元住处服务、物业管理、安防以及住宅智能化等系统结合在一起,为该小区的服务与管理提供高技术的智能化手段。从而实现快捷高效的超值服务管理和安全舒适的家居环境,使业主生活得更安全、更方便。 随着国民经济和科学技术水平的提高,特别是计算机技术、通信技术、网络技术和控制技术的迅速发展,促进了智能小区在我国的推广和应用。目前这些小区的智能化建设大多数是采用Lonworks、FF等现场总线技术。但是现场总线协议标准化程度还不成熟,且成本较高。随着宽带Internet进入家庭,利用Internet来构建智能小区已成为大势所趋。 本文介绍了一种基于以太网和FPGA的嵌入式智能小区管理系统的组建方法。首先,以Altera的FPGA为核心,通过在外围添加适当的存储设备和通信接口设备,构成一个嵌入式系统的硬件平台。其次,在此平台的基础上,通过在FPGA中定制Nios Ⅱ软核处理器以及在外围的Flash存储器中下载uClinux操作系统,从而构建出一套资源丰富的嵌入式操作系统。该系统带有一个网络功能齐全的Web服务器。最后,将此操作系统作为智能小区的楼宇集中器,再根据需要配置适当的采集器和显示器,就可以组建成一套功能强大的智能小区管理系统。它可以完成图像抄表、定时图像采集、实时温度监控、楼宇广播、智能语音报警等功能。 这种利用当前流行的嵌入式系统来组建的智能小区管理系统,不但实现简单、功能强大;而且节约布线、成本低廉。因此具有很高的性价比,相信在未来有较大的市场潜力。 本文主要包括如下几个部分:系统硬件结构设计,包括系统的原理图构建和PCB板的绘制:系统核心处理器设计,包括Nios Ⅱ软核CPU的设计方法、外围存储和通信器件的添加及设计方法;嵌入式操作系统uClinux的相关知识及移植方法:系统的软件结构设计,包括图像采集、温度采集、LCD显示等CGI程序设计,以及单片机语音报警程序设计等;最后给出了调试情况以及一些试验结果。
上传时间: 2013-04-24
上传用户:木末花开
CH376 是文件管理控制芯片,用于单片机系统读写U 盘或者SD 卡中的文件。
上传时间: 2013-05-26
上传用户:liglechongchong
电子产品开发项目管理.rar ppt文件
上传时间: 2013-06-08
上传用户:dongqiangqiang
CN3063是可以用太阳能电池供电的单节锂电池充电管理芯片。该器件内部包括功率晶体管,应用时不需要外部的电流检测电阻和阻流二极管。内部的8位模拟-数字转换电路,能够根据输入电压源的电流输出能力自动调整
上传时间: 2013-06-10
上传用户:zzbin_2000
软件工程、项目管理相关的书籍众多,各种理论与技巧也是层出不穷,但面对现实环境,却总有削足适履之苦。到底哪里才是入手之处呢?又应该从哪里开始属于自己的千里之行呢?笔者结合多年的实践谈谈自己 的感悟,以期能够给读者带来一些启发。
标签:
上传时间: 2013-04-24
上传用户:stewart·