一本很好的汇编语言教程,跟大家一起分享 课程介绍 第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
本文提出了一种基于USB和FPGA的高性能数据采集模块USB12016(USB总线,A/D垂直分辨率为12位,存储容量为16兆)的软硬件设计与实现方法。该数据采集卡包括模拟输入、A/D转换、数据缓存、FPGA控制电路和USB总线接口等,在一张卡上实现了8通道模拟信号调理、采集、处理,并可实现多卡同步触发采集,具有高精度,低噪声,低失真和测试信号范围宽的特点。USB12016配有系统驱动控制程序软件,在Windows9X/2000版本的操作平台下运行,控制面板完全是虚拟仪器软面板,图形化界面十分友好。USB12016是USB接口技术、FPGA技术和嵌入式技术融为一体的结晶,已成功应用于军事测控领域。
上传时间: 2013-06-12
上传用户:CETM008
近年来,igbt功率器件在电机控制、开关电源和变流设备等领域的应用已经非常广泛。igbt的驱动包括专门的驱动电路,以及过流保护电路等。本文设计参考了三菱、西门康等公司生产的igbt驱动模块,加入了接口选择模块、功能选择模块、电源模块、功率补充模块等,实现了整个驱动电路的模块化设计。单个模块可以驱动一个桥臂的上下两个igbt。可以通过方波控制或者spwm控制[1]等控制方式,驱动单相或者三相逆变器。
上传时间: 2013-04-24
上传用户:远远ssad
固态硬盘是一种以FLASH为存储介质的新型硬盘。由于它不像传统硬盘一样以高速旋转的磁盘为存储介质,不需要浪费大量的寻道时间,因此它有着传统硬盘不可比拟的顺序和随机存储速度。同时由于固态硬盘不存在机械存储结构,因此还具有高抗震性、无工作噪音、可适应恶劣工作环境等优点。随着计算机技术的高速发展,固态硬盘技术已经成为未来存储介质技术发展的必然趋势。 本文以设计固态硬盘控制芯片IDE接口部分为项目背景,通过可编程逻辑器件FPGA,基于ATA协议并使用硬件编程语言verilog,设计了一个位于设备端的IDE控制器。该IDE控制器的主要作用在于解析主机所发送的IDE指令并控制硬盘设备进行相应的状态迁移和指令操作,从而完成硬盘设备端与主机端之间基本的状态通信以及数据通信。论文主要完成了几个方面的内容。第一:论文从固态硬盘的基本结构出发,分析了固态硬盘IDE控制器的功能性需求以及寄存器传输、PIO传输和UDMA传输三种ATA协议主要传输模式所必须遵循的时序要求,并概括了IDE控制器设计的要点和难点;第二:论文设计了IDE控制器的总体功能框架,将IDE控制器从功能上分为寄存器部分、顶层控制模块、异步FIFO模块、PIO控制模块、UDMA控制模块以及CRC校验模块六大子功能模块,并分析了各个子功能模块的基本工作原理和具体功能设计;第三:论文以设计状态机流程和主要控制信号的方式实现了各个具体子功能模块并列举了部分关键代码,同时给出了主要子功能模块的时序仿真图;最后,论文给出了基于PIO传输模式和基于UDMA传输模式的具体指令操作流程实现,并通过SAS逻辑分析仪和QuartusⅡ对IDE控制器进行了功能测试和分析,验证了本论文设计的正确性。
上传时间: 2013-07-31
上传用户:liangrb
本课题是在课题组已实现的高速串行通信平台的基础上,进一步引伸,设计开源的PCI软核通信模块替代Xilinx公司提供的LogiCORE PCI核,力求在从模式下,做到占用资源更少,传输速度更快,也为以后实现更完整的功能提供平台。 本文以此为背景,基于FPGA平台,搭建以开源的PCI软核为核心的串行通信接口平台,使其成为PCI总线与用户逻辑之间的桥梁,使用户逻辑避开与复杂的PCI总线协议。本课题采用Spartan-II FPGA芯片XC2S200-6FG456C系统开发板作为串行通信接口的硬件实验平台,实现了支持配置读/写交易、单数据段读/写、突发模式读/写、命令/地址译码功能和数据传送错误检测与处理功能的PCI软核。 本文主要阐述了以PCI软核为核心的串行通信平台的实现,首先介绍了PCI软核的编程语言、软件工具和硬件实验平台Spartan-II FPGA芯片XC2S200-6FG456C系统开发板。然后,介绍了PCI总线命令、PCI软核所支持的功能、PCI软核两侧信号的定义、PCI软核配置模块以及探讨了PCI软核的状态机接收、发送数据等过程,分析了PCI软核的数据收发功能仿真,主要包括配置读/写交易、单数据段模式读/写和突发模式读/写的仿真图形,并阐述了管脚约束的操作流程。最后介绍PCI软核模块的WDM驱动,内容包括驱动程序简介、驱动程序的开发、中断处理、驱动程序与应用程序之间的通信以及应用程序操作。最后,对PCI软核的各种性能进行了比较分析。整个模块设计紧凑,完成在实验平台上的数据发送。 设计选用硬件描述语言VerilogHDL,在开发工具Xilinx ISE7.1中完成整个系统的设计、综合、布局布线,利用Modelsim进行功能及时序仿真,使用DriverWorks为PCI软核编写WinXP下的驱动程序,用VC++6.0编写相应的测试应用程序。之后,将FPGA设计下载到Spanan-II FPGA芯片XC2S200-6FG456C系统开发板中运行。 文章最后指出工作中的不足之处和需要进一步完善的地方。
上传时间: 2013-04-24
上传用户:sc965382896
自20世纪80年代以来,正交频分复用技术不但在广播式数字音频和视频领域得到广泛的应用,而且已经成为无线局域网标准(例如IEEE802.11a和HiperLAN/2等)的一部分。OFDM由于其频谱利用率高,成本低等原因越来越受到人们的关注。随着人们对通信数据化、宽带化、个人化和移动化需求的增强,OFDM技术在综合无线接入领域将会获得越来越广泛的应用。人们开始集中越来越多的精力开发OFDM技术在移动通信领域的应用,本文也是基于无线通信平台上的OFDM技术的运用。 本文的所有内容都是建立在空地数据无线通信系统下行链路FPGA实现基础上的。本文作者的主要工作集中在链路接收端的FPGA实现和调试上。主要包括帧同步(时间同步)算法的研究与设计、OFDM频率同步算法的研究与设计以及同步模块、OFDM解调模块、QAM解调模块的FPGA实现。最终实现高速数字图像传输系统下行链路在无线环境中连通。 对于无线移动通信系统而言,多普勒频移、收发设备的本地载频偏差均可能破坏OFDM系统子载波之间的正交性,从而导致ICI,影响系统性能。另外,由于OFDM系统大多采用IFFT/FFT实现调制解调,因此在接收方确定FFT的起点对数据的正确解调也至关重要。同步技术即是针对系统中存在的定时偏差、频率偏差进行定时、频偏的估计与补偿,来减少各种同步偏差对系统性能的影响。在OFDM实现的关键技术中,同步技术是十分重要的一部分。本文花费了三个章节阐述了同步技术的原理、算法和实现方法。 目前OFDM系统的载波同步方案,可以归纳为三大类:辅助数据类,盲估计类和基于循环前缀的半盲估计类。本文首先分析了各种载波同步方案的优缺点,并举例说明了各个载波同步方式的实现方法。然后具体阐述了本文在FPGA平台上实现的OFDM接收端同步的同步方式,包括其具体算法和FPGA实现结构。本文所采用的帧同步和频率同步方案都是采用辅助数据类的,在阐述其具体算法的同时对算法在不同参数和不同形式下的性能做出了仿真对比分析。 OFDM的解调采用FFT算法,在FPGA上的实现是十分方便的。本文主要阐述其实现结构,重点放在提取有效数据部分有效数据位置的推导过程。最后介绍了本文实现QAM软解调的解调方法。 本文阐述算法采用先提出原理,然后给出具体公式,再根据公式中的系数和变量分析算法性能的方式。在阐述实现方式时首先给出实现框图,然后对框图中比较重要或者复杂的部分进行详细阐述。在介绍完每个模块实现方式之后给出了仿真或者上板结果,最后再给出整体测试结果。
上传时间: 2013-06-26
上传用户:希酱大魔王
随着信息时代的到来,用户对数据保护和传输可靠性的要求也在不断提高。由于信道衰落,信号经信道传输后,到达接收端不可避免地会受到干扰而出现信号失真。因此需要采用差错控制技术来检测和纠正由信道失真引起的信息传输错误。RS(Reed—Solomon)码是差错控制领域中一类重要的线性分组码,由于它编解码结构相对固定,性能强,不但可以纠正随机差错,而且对突发错误的纠错能力也很强,被广泛应用在数字通信、数据存储系统中,以满足对数据传输通道可靠性的要求。因此设计一款高性能的RS编解码器不但具有很大的应用意义,而且具有相当大的经济价值。 本文首先介绍了线形分组码及其子码循环码、BCH码的基础理论知识,重点介绍了BCH码的重要分支RS码的常用编解码算法。由于其算法在有限域上进行,接着介绍了有限域的有关理论。基于RS码传统的单倍结构,本文提出了一种八倍并行编码及九倍并行解码方案,并用Verilog HDL语言实现。其中编码器基于传统的线性反馈移位寄存器除法电路并进行八倍并行扩展,译码器关键方程求解模块基于修正的欧几里德算法设计了一种便于硬件实现的脉动关键方程求解结构,其他模块均采用九倍并行实现。由于进行了超前运算、流水线及并行处理,使编解码的数据吞吐量大为提高,同时延时更小。 本论文设计了C++仿真平台,并与HDL代码结果进行了对比验证。Verilog HDL代码经过modelsim仿真验证,并在ALTERA STRATIX3 EP3SL15OF1152C2 FPGA上进行综合验证以及静态时序分析,综合软件为QUATURSⅡ V8.0。验证及测试表明,本设计在满足编解码基本功能的基础上,能够实现数据的高吞吐量和低延时传输,达到性能指标要求。本论文在基于FPGA的RS(255,223)编解码器的高速并行实现方面的研究成果,具有通用性、可移植性,有一定的理论及经济价值。
上传时间: 2013-04-24
上传用户:思琦琦
随着我国国防现代化建设进程的不断深化,MIL-STD-1553B标准总线已经广泛应用于各种军事应用领域。MIL-STD-1553B标准总线是我国上世纪八十年代引进的一种现代化通讯总线,国内称为GJB289A-97。该总线技术以其高稳定性和使用灵活等特点成为现代航空电子综合系统所广泛采用的通讯总线技术。 1553B总线接口模块作为总线通讯的基本单元,其性能成为影响航电综合系统整体性能的一个关键因素。目前国内关于1553B总线通讯模块的对外接口类型较多,而基于嵌入式处理芯片的接口设计并不多见。嵌入式设备具有体积小、重量轻、实时性强、功耗小、稳定性好以及接口方便等优点。 基于以上考虑,论文中提出了以DSP+FPGA为平台实现MIL-STD-1553B总线的收发控制,通过收发控制器和变压器实现MIL-STD-1553B总线的电气连接。根据项目需求,设计分为硬件和软件两部分完成。在对MIL-STD-1553B总线协议进行详细研究后提出了总体设计方案原理图。再根据方案需求设计各功能模块。使用硬件描述语言VHDL对各功能模块进行逻辑和行为描述,最终实现在FPGA中,使其能够完成1553B数据码的接受、发送、转换和与处理器的信息交换等功能。DSP部分采用的是TI公司的TMS320F2812,使用C语言进行软件的编译,使其实现总体控制和通讯的调度等功能。 该方案经过实际参与1553B总线通讯系统验证实验,证明各项技术指标均达到预定的目标,可以投入实际应用。
上传时间: 2013-04-24
上传用户:671145514
本文论述了嵌入式TCP/IP协议栈的实现,介绍了TCP/IP协议栈的原理,以及硬线实现TCP/IP协议栈的意义和应用。 第一章为绪论,介绍论文研究的目的、内容、意义和国内外研究发展的现状。 第二章介绍FPGA设计的流程和Verilog HDL设计语言。着重介绍了FPGA的代码输入、编译、综合、仿真和下载等等步骤,并且介绍了FPGA设计中使用到的EDA软件。介绍了Verilog HDL语言的起源,以及Verilog HDL语言的优缺点,并与VHDL语言进行了简单的比较。 第三章介绍嵌入式系统要实现的经过剪裁的TCP/IP协议栈的内容。着重介绍了要实现的TCP/IP协议栈的子协议,包括TCP协议、UDP协议、IP协议、ARP协议、ICMP协议。在介绍这些协议的时候,介绍了这些协议的工作原理,以及这些协议要用到的报文的格式。 第四章介绍实现剪裁的TCP/IP协议栈的实现,具体介绍的经过剪裁的TCP/IP各个模块的设计工作。这个部分着重介绍各个模块的设计方法,实现各个模块的过程。在设计完这些模块后,对这些模块的仿真进行了仿真。 第五章是全文的总结,概括了作者在这次毕业设计中的主要工作和课题的意义,同时指出了进一步工作的方向和需要解决的问题。
上传时间: 2013-07-04
上传用户:leesuper
随着电子技术和计算机技术的飞速发展,视频图像处理技术近年来得到极大的重视和长足的发展,其应用范围主要包括数字广播、消费类电子、视频监控、医学成像及文档影像处理等领域。当前视频图像处理主要问题是当处理的数据量很大时,处理速度慢,执行效率低。而且视频算法的软件和硬件仿真和验证的灵活性低。 本论文首先根据视频信号的处理过程和典型视频图像处理系统的构成提出了基于FPGA的视频图像处理系统总体框图;其次选择视频转换芯片SAA7113,完成视频图像采集模块的设计,主要分三步完成:1)配置视频转换芯片的工作模式,完成视频转化芯片SAA7113的初始化:2)通过分析输出数据流的格式标准,来识别奇偶场信号、场消隐信号和有效行数据的开始和结束信号三种控制信号,并根据控制信号,用Verilog硬件描述语言编程实现图像数据的采集;3)分析SRAM的读写控制时序,采用两块SRAM完成图像数据的存储。然后编写软件测试文件,在ISE Simulator仿真环境进行程序测试与运行,并分析仿真结果,验证了数据采集和存储的正确性;最后,对常用视频图像算法的MATLAB仿真,选择适当的算子,采用工具MATLAB、System Generator for DSP和ISE,利用模块构建方式,搭建视频算法平台,实现图像平滑滤波、锐化滤波算法,在Simulink中仿真并自动生成硬件描述语言和网表,对资源的消耗做简要分析。 本论文的创新点是采用新的开发环境System Generator for DSP实现视频图像算法。这种开发视频图像算法的方式灵活性强、设计周期短、验证方便、是视频图像处理发展的必然趋势。
上传时间: 2013-05-20
上传用户:fudong911