一本很好的汇编语言教程,跟大家一起分享 课程介绍 第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
任意波形发生器已成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。直接数字频率合成(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
随着人们对于高速无线数据业务的急切需求以及新的无线通信技术的发展,频谱资源匮乏问题日益严重。无线频谱的紧缺已经成为限制无线通信与服务应用持续发展的瓶颈。认知无线电技术(Cognitive Radio)改变了传统的固定频谱分配方式,它以频谱利用的高效性为目标,允许非授权用户择机利用授权用户的频谱空洞传输数据,以此来解决无线频谱资源短缺的问题。它是具有自主寻找和使用空闲频谱资源能力的智能无线电技术。本文的目标是在基于FPGA+DSP的系统硬件平台上,以软件编程的方式实现认知无线电数据传输的功能。 软件无线电是实现认知无线电的理想平台。本文首先阐述了软件无线电的基本工作原理及关键技术途径,对多速率信号处理中的内插和抽取、带通采样、数字下变频、滤波等技术进行了分析与探讨,为设计多速率调制解调系统提供了理论基础。然后针对软件无线电的要求给出了基于FPFA+DSP的系统设计硬件框图,并对其中的部分硬件(FPGA、AD9857、AD9235)做了简要的描述并给出其初始化过程。在理解基本概念和原理的基础上,详细论述了在系统硬件设计平台上实现的π/4-DQPSK、8PSK、16QAM调制解调技术。本文给出了调制解调系统实现方案中的各个功能模块(差分编、解码,加同步头、内插和成形滤波,下变频,系统同步等)具体的设计方案和通过硬件编程实现了板级的仿真和最后的硬件实现,并对其中得到的数据进行分析,进一步验证方案的可行性。最后介绍了通信板同频谱感知板协同工作原理,依据频谱感知板获取的各个信道状况自适应的选择π/4-DQPSK、8PSK、16QAM调制解调方式并在FPGA上实现了其中部分功能。
上传时间: 2013-05-30
上传用户:fywz
数字高清电视是当前世界上最先进的图像压缩编码技术和数字传输技术的结合,是高技术竞争的焦点之一。其中,信道处理系统及其相关芯片更是集中了数字信号处理、前向纠错编解码等数字电视传输的核心技术,成为设计和开发整个数字电视系统的关键技术之一。本文以卫星数字电视的信道处理系统为对象,结合国际通行的DVB-S/S2标准,研究了该系统在发射端的设计与实现所涉及到的一系列内容。 本文介绍了数字电视的发展概况和主要标准,特别是对我国卫星电视的发展进行了详细的介绍。然后,本文DVB-S/S2信道处理系统的基本原理进行了介绍和分析,主要包括RS码、卷积码、BCH码、LDPC码等的差错编码的基本原理,以及基带信号处理的基本原理。在此基础上对两种系统的传输性能和DVB-S2的后向兼容系统分别进行了基于Matlab的仿真。最后阐述了基于FPGA的DVB-S调制器的信道编码和调制实现,按功能对DVB-S/S2信道编码过程进行模块分解,并针对每个模块进行工作原理分析、算法分析、HDL描述、时序仿真及FPGA实现。DVB-S/S2调制器的核心是信道编码和调制部分,利用FPGA在数字信号处理方面的优势,本文重点对其中的几个关键模块,包括RS编码、卷积交织器、卷积编码、BCH编码、LDPC编码等的实现算法进行了比较详细的分析,并通过HDL描述和时序仿真来验证算法正确性。
上传时间: 2013-07-10
上传用户:gmh1314
随着数字时代的到来,信息化程度的不断提高,人们相互之间的信息和数据交换日益增加。正交幅度调制器(QAM Modulator)作为一种高频谱利用率的数字调制方式,在数字电视广播、固定宽带无线接入、卫星通信、数字微波传输等宽带通信领域得到了广泛应用。 近年来,集成电路和数字通信技术飞速发展,FPGA作为集成度高、使用方便、代码可移植性等优点的通用逻辑开发芯片,在电子设计行业深受欢迎,市场占有率不断攀升。本文研究基于FPGA与AD9857实现四路QAM调制的全过程。FPGA实现信源处理、信道编码输出四路基带I/Q信号,AD9857实现对四路I/Q信号的调制,输出中频信号。本文具体内容总结如下: 1.介绍国内数字电视发展状况、国内国际的数字电视标准,并详细介绍国内有线电视的系统组成及QAM调制器的发展过程。 2.研究了QAM调制原理,其中包括信源编码、TS流标准格式转换、信道编码的原理及AD9857的工作原理等。并着重研究了信道编码过程,包括能量扩散、RS编码、数据交织、星座映射与差分编码等。 3.深入研究了基于FPAG与AD9857电路设计,其中包括详细研究了FPGA与AD9857的电路设计、在allegro下的PCB设计及光绘文件的制作,并做成成品。 4.简单介绍了FPGA的开发流程。 5.深入研究了基于FPAG代码开发,其中主要包括I2C接口实现,ASI到SPI的转换,信道编码中的TS流包处理、能量扩散、RS编码、数据交织、星座映射与差分编码的实现及AD9857的FPGA控制使其实现四路QAM的调制。 6.介绍代码测试、电路测试及系统指标测试。 最终系统指标测试表明基于FPGA与AD9857的四路DVB-C调制器基本达到了国标的要求。
上传时间: 2013-04-24
上传用户:sn2080395
可配置端口电路是FPGA芯片与外围电路连接关键的枢纽,它有诸多功能:芯片与芯片在数据上的传递(包括对输入信号的采集和输出信号输出),电压之间的转换,对外围芯片的驱动,完成对芯片的测试功能以及对芯片电路保护等。 本文采用了自顶向下和自下向上的设计方法,依据可配置端口电路能实现的功能和工作原理,运用Cadence的设计软件,结合华润上华0.5μm的工艺库,设计了一款性能、时序、功耗在整体上不亚于xilinx4006e[8]的端口电路。主要研究以下几个方面的内容: 1.基于端口电路信号寄存器的采集和输出方式,本论文设计的端口电路可以通过配置将它设置成单沿或者双沿的触发方式[7],并完成了Verilog XL和Hspiee的功能和时序仿真,且建立时间小于5ns和保持时间在0ns左右。和xilinx4006e[8]相比较满足设计的要求。 2.基于TAP Controller的工作原理及它对16种状态机转换的控制,对16种状态机的转换完成了行为级描述和实现了捕获、移位、输出、更新等主要功能仿真。 3.基于边界扫描电路是对触发器级联的构架这一特点,设计了一款边界扫描电路,并运用Verilog XL和Hspiee对它进行了功能和时序的仿真。达到对芯片电路测试设计的要求。 4.对于端口电路来讲,有时需要将从CLB中的输出数据实现异或、同或、与以及或的功能,为此本文采用二次函数输出的电路结构来实现以上的功能,并运用Verilog XL和Hspiee对它进行了功能和时序的仿真。满足设计要求。 5.对于0.5μm的工艺而言,输入端口的电压通常是3.3V和5V,为此根据设置不同的上、下MOS管尺寸来调整电路的中点电压,将端口电路设计成3.3V和5V兼容的电路,通过仿真性能上已完全达到这一要求。此外,在输入端口处加上扩散电阻R和电容C组成噪声滤波电路,这个电路能有效地抑制加到输入端上的白噪声型噪声电压[2]。 6.在噪声和延时不影响电路正常工作的范围内,具有三态控制和驱动大负载的功能。通过对管子尺寸的大小设置和驱动大小的仿真表明:在实现TTL高电平输出时,最大的驱动电流达到170mA,而对应的xilinx4006e的TTL高电平最大驱动电流为140mA[8];同样,在实现CMOS高电平最大驱动电流达到200mA,而xilinx4006e的CMOS驱动电流达到170[8]mA。 7.与xilinx4006e端口电路相比,在延时和面积以及功耗略大的情况下,本论文研究设计的端口电路增加了双沿触发、将输出数据实现二次函数的输出方式、通过添加译码器将配置端口的数目减少的新的功能,且驱动能力更加强大。
上传时间: 2013-07-20
上传用户:顶得柱
本文将高效数字调制方式QAM和软件无线电技术相结合,在大规模可编程逻辑器件FPGA上对16QAM算法实现。在当今频谱资源日趋紧缺的情况下有很大现实意义。 论文对16QAM软件实现的基础理论,带通采样理论、变速率数字信号处理相关抽取内插技术做了推导和分析;深入研究了软件无线电核心技术数字下变频原理和其实现结构;对CIC、半带等高效数字滤波器原理结构和性能作了研究;16QAM调制和解调系统设计采用自项向下设计思想;采用硬件描述语言VerilogHDL在EDA工具QuartusII环境下实现代码输入;对系统调试采用了算法仿真和在系统实测调试相结合方法。 论文首先对16QAM调制解调算法进行系统级仿真,并对实现的各模块的可行性仿真验证,在此基础上,完成了调制端16QAM信号的时钟分频模块、串并转换模块、星座映射、8倍零值内插、低通滤波以及FPGA和AD9857接口等模块;解调器主要完成带通采样、16倍CIC抽取滤波,升余弦滚降滤波,以及16QAM解码等模块,实现了16QAM调制器;给出了中频信号时域测试波形和频谱图。本系统在200KHz带宽下实现了512Kbps的高速数据数率传输。论文还对增强型数字锁相环EPLL的实现结构进行了研究和性能分析。
上传时间: 2013-07-10
上传用户:kennyplds
软件无线电是近年提出的新的通信体系,由于其具有灵活性和可重配置性并且符合通信的发展趋势,已成为通信系统设计的研究热点。因此对基于软件无线电的调制解调技术进行深入细致的研究非常有意义。 本文首先从阐述软件无线电的理论基础入手,对多速率信号处理中的内插和抽取、带通采样、数字变频等技术进行了分析与探讨,为设计和实现8PSK调制解调器提供了非常重要的理论依据。然后,研究了8PSK调制解调技术,详细论述了它们的基本概念和原理,提出了系统实现方案,在DSP+FPGA平台上实现了8PSK信号的正确调制解调。文中着重研究了突发通信的同步和频偏纠正算法,针对同步算法选取了一种基于能量检测法的快速位同步算法,采用相关器实现,同时实现位同步和帧同步。并且对于突发通信的多普勒频偏纠正,设计了一个基于自动频率控制(AFC)环的频偏检测器,通过修改数控振荡器(NCO)的频率控制字方法来校正本地载波频率,整个算法结构简单,运算量小,频偏校正速度快,具有较好的实用性。其次,对相干解调的初始相位进行纠正时,提出了一种简单易行的CORDIC方法,同时对FPGA编程当中的一些关键问题进行了介绍。最后,设计了自适应调制解调器,根据信噪比和误码率来自适应的改变调制方式,以达到最佳的传输性能。
上传时间: 2013-04-24
上传用户:mingaili888
现代通信系统要求通信距离远、通信容量大、传输质量好。作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向。用FPGA实现调制解调器具有体积小、功耗低、集成度高、可软件升级、抗干扰能力强的特点,符合未来通信技术发展的方向。论文从以下几个方面讨论和实现了基于FPGA的调制解调系统。 论文首先介绍了调制解调系统的发展现状及FPGA的相关知识。然后介绍了几种常见的相位调制解调方式,重点是QDPSK调制解调系统的理论算法。 论文重点介绍了QDPSK解调调制系统的具体实现。首先,在在MATLAB环境下对系统里的每个子模块完成了功能仿真,并取得满意的仿真结果;其次,在QDPSK调制解调系统功能仿真正确的基础上,对每个模块的功能编写C++算法,并且验证了算法的正确性和可实现性;最后,在altera公司的FPGA开发平台Quartus Ⅱ 6.0上,采用Verilog硬件描述语言对QDPSK调制解调系统实现了时序仿真和综合仿真。
上传时间: 2013-04-24
上传用户:lepoke
当今电子系统的设计是以大规模FPGA为物理载体的系统芯片的设计,基于FPGA的片上系统可称为可编程片上系统(SOPC)。SOPC的设计是以知识产权核(IPCore)为基础,以硬件描述语言为主要设计手段,借助以计算机为平台的EDA工具进行的。 本文在介绍了FPGA与SOPC相关技术的基础上,给出了SOPC技术开发调制解调器的方案。在分析设计软件Matlab/DSP(Digital Signal Processing)。builder以及Quartus Ⅱ开发软件进行SOPC(System On a Programmable Chip)设计流程后,依据调制解调算法提出了一种基于DSP Builder调制解调器的SOPC实现方案,模块化的设计方法大大缩短了调制解调器的开发周期。 在SOPC技术开发调制解调器的过程中,用MATLAB/Simulink的图形方式调用Altera DSP Builder和其他Simulink库中的图形模块(Block)进行系统建模,在Simulink中仿真通过后,利用DSP Builder将Simulink的模型文件(.mdl)转化成通用的硬件描述语言VHDL文件,从而避免了VHDL语言手动编写系统的烦琐过程,将精力集中于算法的优化上。 基于DSP Builder的开发功能,调制解调器电路中的低通滤波器可直接调用FIRIP Core,进一步提高了开发效率。 在进行编译、仿真调试成功后,经过QuartusⅡ将编译生成的编程文件下载到ALTERA公司Cyclone Ⅱ系列的FPGA芯片EP2C5F256C6,完成器件编程,从而给出了一种调制解调器的SOPC系统实现方案。
上传时间: 2013-06-24
上传用户:liuchee