一本很好的汇编语言教程,跟大家一起分享 课程介绍 第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
本文的目的在于设计一个自适应噪音抵消系统,使其能消除含噪语音信号中的背景噪音,达到提高语音信号质量的目的.主要工作分为两大部分.本文在第一部分介绍了自适应数字滤波器的基本理论思想,具体阐述了自适应噪声抵消系统基本原理,并对自适应噪声抵消系统的指标、抵消性能进行了计算分析.自适应滤波器的算法是整个系统的核心,在第一部分中,对两种最基本的自适应算法,进行了详细的介绍和分析,并针对两种算法的优缺点进行了详细的比较.这一部分中最关键的是对设计的噪声抵消系统进行计算机仿真,验证系统设计的合理性和算法的正确性.通过对自适应噪声抵消器的MATLAB仿真及对仿真图形的分析,验证了系统设计和自适应算法的可行性.第二部分主要完成自适应噪声抵消系统的硬件设计和软件编程.在第一部分计算机仿真分析的基础上,利用高速信号处理芯片DSP(TMS320LF2407)设计了一个噪声干扰抵消系统,在高速信号处理芯片(TMS320LF2407)上开发实现了自适应LMS算法.
标签: DSP
上传时间: 2013-06-28
上传用户:zklh8989
关于半桥或全桥自举式浮动栅极驱动的四个中文文档,为飞兆和IR公司技术文档,介绍了自举电路元件的选取及实际问题解决。可从其官网中下载。这里集合上传~
标签: 驱动
上传时间: 2013-07-30
上传用户:碉堡1234
随着无线通信技术的不断发展和社会需求的日益增长,对通信系统的传输质量和容量的要求也越来越大。现代通信系统为了追求更高的数据速率和频谱效率,更趋向于采用非恒定包络的调制方式,而非恒定包络调制方式对功率放大器的非线性非常敏感,加上现代通信系统对功率放大器的效率提出了更高的要求,以及功率放大器本身有限的线性度,这就使功率放大器线性化技术成为无线通信系统的关键技术之一。 本文对功率放大器的线性化技术进行了系统的研究。首先,介绍功率放大器的非线性特性、记忆效应产生原理和常见的各种线性化技术,重点研究了目前流行的自适应数字预失真技术原理。其次,介绍了功率放大器的无记忆模型和有记忆模型,以及两种实用的预失真实现方法--查表法和多项式法,在此基础上重点研究了基于QRD_RLS自适应算法的记忆多项式法预失真技术,对该算法进行了Matlab仿真分析,为后面的FPGA实现奠定基础。最后,确定了数字预失真实现的架构,介绍了与QRD_RLS算法实现相关的CORDIC技术、复数Givens旋转及Systolic阵等原理,详细阐述了基于CORDIC技术的复数QRD_RLS算法的Systolic实现,从而在FPGA上实现了数字预失真。 在软件无线电思想的指导下,本文利用System Generator软件完成了基于QRD_RLS算法的记忆多项式法的数字预失真的FPGA设计,并且在硬件平台上检验了预失真效果。
上传时间: 2013-04-24
上传用户:84425894
任意波形发生器已成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。直接数字频率合成(DDS)是二十世纪七十年代初提出的一种全数字的频率合成技术,其查表合成波形的方法可以满足产生任意波形的要求。由于现场可编程门阵列(FPGA)具有高集成度、高速度、可实现大容量存储器功能的特性,能有效地实现DDS技术,极大的提高函数发生器的性能,降低生产成本。 本文首先介绍了函数波形发生器的研究背景和DDS的理论。然后详尽地叙述了用FPGA完成DDS模块的设计过程,接着分析了整个设计中应处理的问题,根据设计原理就功能上进行了划分,将整个仪器功能划分为控制模块、外围硬件、FPGA器件三个部分来实现。最后就这三个部分分别详细地进行了阐述。 在实现过程中,本设计选用了Altera公司的EP2C35F672C6芯片作为产生波形数据的主芯片,充分利用了该芯片的超大集成性和快速性。在控制芯片上选用了三星公司的上S3C2440作为控制芯片。本设计中,FPGA芯片的设计和与控制芯片的接口设计是一个难点,本文利用Altera的设计工具QuartusⅡ并结合Verilog—HDL语言,采用硬件编程的方法很好地解决了这一问题。论文最后给出了系统的测量结果,并对误差进行了一定分析,结果表明,可输出步进为0.01Hz,频率范围0.01Hz~20MHz的正弦波、三角波、锯齿波、方波,或0.01Hz~20KHz的任意波。通过实验结果表明,本设计达到了预定的要求,并证明了采用软硬件结合,利用FPGA技术实现任意波形发生器的方法是可行的。
上传时间: 2013-08-03
上传用户:1079836864
图像是人类智能活动重要的信息来源之一,是人类相互交流和认识世界的主要媒体。随着信息高速公路、数字地球概念的提出,人们对图像处理技术的需求与日剧增,同时VLSI技术的发展给图像处理技术的应用提供了广阔的平台。图像处理技术是图像识别和分析的基础,所以图像处理技术对整个图像工程来说就非常重要,对图像处理技术的实现的研究也就具有重要的理论意义与实用价值,包括对传统算法的改进和硬件实现的研究。仿生算法的兴起为图像处理问题的解决提供了一条十分有效的新途径;FPGA技术的发展为图像处理的硬件实现提供了有效的平台。 @@ 本文在详细介绍邻域图像处理算法及其数据结构、遗传算法和蚁群算法基本原理的基础上,将其应用于图像增强和图像分割的图像处理问题之中,并将其用FPGA技术实现。论文中采用遗传算法自适应的确定非线性变换函数的参数对图像进行增强,在采用FPGA来实现的过程中先对系统进行模块划分,主要分为初始化模块、选择模块、适应度模块、控制模块等,然后利用VHDL语言描述各个功能模块,为了提高设计效率,利用IP核进行存储器设计,利用DSP Builder进行数学运算处理。时序控制是整个系统设计的核心,为尽量避免毛刺现象,各模块的时序控制都是采用单进程的Moore状态机实现的。在图像分割环节中,图像分割问题转换为求图像的最大熵问题,采用蚁群算法对改进的最大熵确定的适应度函数进行优化,并对基于FPGA和蚁群算法实现图像分割的各个模块设计进行了详细介绍。 @@ 对实验结果进行分析表明遗传算法和蚁群算法在数字图像处理中的使用明显改善了处理的效果,在利用FPGA实现遗传算法和蚁群算法的整个设计过程中由于充分发挥了FPGA的并行计算能力及流水线技术的应用,大大提高算法的运行速度。 @@关键词:图像处理;遗传算法;蚁群算法;FPGA
上传时间: 2013-06-03
上传用户:小火车啦啦啦
随着中国二代导航系统的建设,卫星导航的应用将普及到各个行业,具有自主知识产权的卫星导航接收机的研究与设计是该领域的一个研究热点。在接收机的设计中,对于成熟技术将利用ASIC芯片进行批量生产,该芯片是专用芯片,一旦制造成型不能改变。但是对于正在研究的接收机技术,特别是在需要利用接收机平台进行提高接收机性能研究时,利用FPGA通用可编程门阵列芯片是非常方便的。在FPGA上的研究成果,一旦成熟可以很方便的移植到ASIC芯片,进行批量生产。本课题就是基于FPGA研究GPS并行捕获技术的硬件电路,着重进行了其中一个捕获通道的设计和实现。 GPS信号捕获时间是影响GPS接收机性能的一个关键因素,尤其是在高动态和实时性要求高的应用中或者对弱GPS信号的捕获方面。因此,本文在滑动相关法基础上引出了基于FFT的并行快速捕获方法,采用自顶向下的方法对系统进行总体功能划分和结构设计,并采用自底向上的方法对系统进行功能实现和验证。 本课题以Xilinx公司的Spartan3E开发板为硬件开发平台,以ISE9.2i为软件开发平台,采用Verilog HDL编程实现该系统。并利用Nemerix公司的GPS射频芯片NJ1006A设计制作了GPS中频信号产生平台。该平台可实时地输出采样频率为16.367MHz的GPS数字中频信号。 本课题主要是基于采样率变换和FFT实现对GPS C/A码的捕获。该算法利用平均采样的方法,将信号的采样率降低到1.024 MHz,在低采样率下利用成熟的1024点FFT IP核对C/A码进行粗捕,给出GPS信号的码相位(精度大约为1/4码片)和载波的多普勒频率,符合GPS后续跟踪的要求。 同时,由于FFT算法是以资源换取时间的方法来提高GPS捕获速度的,所以在设计时,合理地采用FPGA设计思想与技巧优化系统。基于实用性的要求,详细的给出了基于FFT的GPS并行捕获各个模块的实现原理、实现结构以及仿真结果。并达到降低系统硬件资源,能够快速、高效地实现对GPS C/A码捕获的要求。 本研究是导航研究所承担的国家863课题“利用多径信号提高GNSS接收机性能的新技术研究”中关于接收机信号捕获算法的一部分,对接收机的设计具有一定的参考价值。
上传时间: 2013-07-22
上传用户:user08x
调整视频图像的分辨率需要视频缩放技术。如果图像缩放技术的处理速度达到实时性要求就可以应用于视频缩放。 传统图像缩放技术利用插值核函数对已有像素点进行插值重建还原图像。本文介绍了图像插值的理论基础一采样定理,并对理想重建函数Sinc函数进行了讨论。本文介绍了常用的线性图像插值技术及像素填充、自适应插值和小波域图像缩放等技术。然后,本文讨论了分级线性插值算法的思想,设计并实现了FPGA上的分级双三次算法。最后本文对各种算法的缩放效果进行了分析和讨论。 本文在分析现有视频缩放算法基础之上,提出了分级线性插值算法,并应用在简化线性插值算法中。分级线性插值算法以牺牲一定的计算精度为代价,用查找表代替乘法计算,降低了算法复杂度。本文设计并实现了分级双三次插值算法,详细说明了板上系统的模块结构。最后本文将分级线性插值算法与原线性插值算法效果图进行比较,比较结果显示分级插值算法与原算法误差较小,在放大比例较小时可以取代原算法。结果证明分级双三次线性插值算法的FPGA实现能够满足额定帧频,可以进行实时视频缩放。
上传时间: 2013-04-24
上传用户:亚亚娟娟123
近红外光谱法是血液成分无创检测方法中的热点,也是取得成果最多的方法之一。但是,个体差异和测量条件是影响近红外光谱血液成分无创检测的一个较突出的问题。而动态光谱法就是针对这个问题而提出的一种全新的近红外无创血液成分浓度检测方法。它从原理上消除了个体差异和测量条件等对光谱检测的影响,为基于近红外光谱法的血液成分无创检测方法进入临床应用去除了一个较为关键的障碍。因此,本文根据动态光谱检测原理设计了基于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及其开发语言硬件描述语言Verilog HDL,并对基于FPGA的绝对式编码器通信接口电路做了可行性的分析。在此基础上,采用自顶向下的设计方法,将整个接口电路划分成发送模块、接收模块、序列控制模块等多个模块,各个模块采用Verilog语言进行描述设计编码器接口电路。最终的设计在相关硬件电路上实现。最后,通过在TMS320F2812伺服控制平台上编写的硬件驱动程序验证了整个设计的各项功能,达到了设计的要求。
上传时间: 2013-07-11
上传用户:snowkiss2014