一本很好的汇编语言教程,跟大家一起分享 课程介绍 第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
随着数码技术的不断发展,数字图像处理的应用领域不断扩大,其实时处理技术成为研究的热点。VLSI技术的迅猛发展为数字图像实时处理技术提供了硬件基础。其中FPGA(现场可编程门阵列)的特点使其非常适用于进行一些基于像素级的图像处理。 传统的图像显示系统必须连接到PC才能观察图像视频,存在着高速实时性、稳定性问题。本设计脱离高清晰工业相机必须与PC连接才可以观看到高清晰图像的束缚,实现系统的小型化。针对130万像素彩色1/2英寸镁光CMOS图像传感器,提出用硬件实现Bayer格式到RGB格式转换的设计方案,完成由黑白图像到高清彩色图像的转换,用SDRAM作缓存,输出标准VGA信号,可直接连接VGA显示器、投影仪等设备进行实时的视频图像观看,与模拟相机740X576分辨率(480线)图像相比,设计图像画质相当于1280X1024分辨率(750线),最高帧率25fps,整个结构应用FPGA作为主控制器,用少量的缓存代替传统的大容量存储,加快了运算速率,减小了电路规模,满足图像实时处理的要求,使展现出来的视频图像得到质的飞跃。可以广泛应用于工业控制和远程监控等领域。 论文研究的重点是采用altera公司EP2C芯片前端驱动CMOS图像传感器,实时采集Bayer图像象素,分析研究CFA图像插值算法,实现了基于FPGA的实时线性插值算法,能够对输入是每像素8bit、分辨率为1280×1204的Bayer模式图像数据进行实时重构,输出彩色RGB图像。由端口FIFO作为数据缓冲,存储一帧图像到高速SDRAM,构建VGA显示控制器,实现对输入是每像素24bit(RGB101010)、分辨率为640×480、帧频25HZ彩色图像进行实时显示。 整个模块结构包括电源模块单元等、CMOS成像单元、FPGA数据处理单元、SDRAM控制单元、VGA显示接口单元。 最后,对系统进行了调试。经实验验证,系统达到了实时性,能正确和可靠的工作。整个设计模块能够满足高帧率和高清晰的实时图像处理,占用系统资源很少,用较少的时间完成了图像数据的转换,提高了效率。
上传时间: 2013-06-08
上传用户:zhengjian
本论文基于直接扩频通信的理论设计了一种全数字的中频接收机,使用Xilinx公司的FPGA芯片xc3s400作为接收机的主芯片,实现中频数字信号的下变频,基带解调,PN码的捕获及跟踪环路的设计并给出了它们的具体设计步骤及RTL级逻辑电路图。本文对于数字下变频器的设计、数字抑制载波恢复环的设计进行了详细的论述,还使用Matlab中的Simulink对本接收机系统所要使用的全数字Costas环进行了功能仿真并给出了仿真结果。 本文使用高速模数转换器AD9601对中频模拟信号进行采样,最后再用高速数模转换器AD9740还原出原始信息,并给出了它们与核心芯片xc3s400的接口设计方法及原理电路图。
上传时间: 2013-07-30
上传用户:weiwolkt
本文提出了一种基于FPGA的硬件防火墙的实现方案,采用了FPGA来实现千兆线速的防火墙。传统的基于X86等通用CPU的防火墙无法支撑快速增长的网络速度,无法实现线速过滤和转发。本文在采用FPGA可编程器件+通用CPU模式下,快速处理网络数据。网络数据在建立连接跟踪后,直接由FPGA实现的快速处理板直接转发,实现了网络数据的线速处理,通用CPU在操作系统支持下,完成网络数据的连接跟踪的创建、维护,对网络规则表的维护等工作。FPGA硬件板和CPU各司所长,实现快速转发的目的。 本文设计了基于FPGA的硬件板的硬件规格,提出了硬件连接跟踪表的存储模式,以及规则表的存储模式和定义等; 防火墙系统软件采用NetBSD操作系统,完成了硬件板的NetBSD的驱动;在软件系统完成了新建连接的建立、下发、老化等工作;在连接跟踪上完成了规则的建立、删除、修改等工作。 本文完成了防火墙的实现。实现了基于连接跟踪的包过滤、地址转换(NAT),设计了连接跟踪的关键数据结构,包过滤的关键数据结构等,重用了NetBSD操作系统的路由。本文针对地址转换应用程序的穿透问题,新增了部分实现。 在DoS攻击是一种比较常见的攻击网络手段,本文采用了软硬件结合的方法,不仅在软件部分做了完善,也在硬件部分采取了相应的措施,测试数据表明,对常见的Syn洪水攻击效果明显。 在实践过程中,我们发现了NetBSD操作系统内核的软件缺陷,做了修正,使之更完善。 经过测试分析,本方案不仅明显的优于X86方案,和基于NP方案、基于ASIC方案比较,具有灵活、可配置、易升级的优点。
上传时间: 2013-06-21
上传用户:zxh1986123
随着社会的发展,人们对电力需求特别是电能质量的要求越来越高。但由于非线性负荷大量使用,却带来了严重的电力谐波污染,给电力系统安全、稳定、高效运行带来严重影响,给供用电设备造成危害。如何最大限度的减少谐波造成的危害,是目前电力系统领域极为关注的问题。谐波检测是谐波研究中重要分支,是解决其它相关谐波问题的基础。因此,对谐波的检测和研究,具有重要的理论意义和实用价值。 目前使用的电力系统谐波检测装置,大多基于微处理器设计。微处理器是作为整个系统的核心,它的性能高低直接决定了产品性能的好坏。而这种微处理器为主体构成的应用系统,存在效率低、资源利用率低、程序指针易受干扰等缺点。由于微电子技术的发展,特别是专用集成电路ASIC(ApplicationSpecificIntegratedCircuit)设计技术的发展,使得设计电力系统谐波检测专用的集成电路成为可能,同时为谐波检测装置的硬件设计提供了一个新的发展途径。本文目标就是设计电力系统谐波检测专用集成电路,从而可以实现对电力系统谐波的高精度检测。采用专用集成电路进行谐波检测装置的硬件设计,具有体积小,速度快,可靠性高等优点,由于应用范围广,需求量大,电力系统谐波检测专用集成电路具有很好的应用前景。 本文首先介绍了国内外现行谐波检测标准,调研了电力系统谐波检测的发展趋势;随后根据装置的功能需求,特别是依据其中谐波检测国标参数的测量算法,为系统选定了基于FPGA的SOPC设计方案。 本文分析了电力系统谐波检测专用集成电路的功能模型,对专用集成电路进行了模块划分。定义了各模块的功能,并研究了模块间的连接方式,给出了谐波检测专用集成电路的并行结构。设计了基于FPGA的谐波检测专用集成电路设计和验证的硬件平台。配合专用集成电路的电子设计自动化(EDA)工具构建了智能监控单元专用集成电路的开发环境。 在进行FPGA具体设计时,根据待实现功能的不同特点,分为用户逻辑区域和Nios处理器模块两个部分。用户逻辑区域控制A/D转换器进行模拟信号的采样,并对采样得到的数字量进行谐波分析等运算。然后将结果存入片内的双口RAM中,等待Nios处理器的访问。Nios处理器对数据处理模块的结果进一步处理,得到其各自对应的最终值,并将结果通过串行通信接口发送给上位机。 最后,对设计实体进行了整体的编译、综合与优化工作,并通过逻辑分析仪对设计进行了验证。在实验室条件下,对监测指标的运算结果进行了实验测量,实验结果表明该监测装置满足了电力系统谐波检测的总体要求。
上传时间: 2013-04-24
上传用户:yw14205
近红外光谱法是血液成分无创检测方法中的热点,也是取得成果最多的方法之一。但是,个体差异和测量条件是影响近红外光谱血液成分无创检测的一个较突出的问题。而动态光谱法就是针对这个问题而提出的一种全新的近红外无创血液成分浓度检测方法。它从原理上消除了个体差异和测量条件等对光谱检测的影响,为基于近红外光谱法的血液成分无创检测方法进入临床应用去除了一个较为关键的障碍。因此,本文根据动态光谱检测原理设计了基于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进行设计,主要负责采集湿度信息,计算温湿度偏差及其变化率,通过调用模糊控制算法对温湿度进行模糊控制,单片机通过RS485总线和上位机进行串口通信,使上位机能够实时记录,显示温湿度变化值和控制过程曲线。该系统实现了粮仓内温湿度的实时监测,使管理人员可以实时掌控粮仓内的温湿度情况。 采用FPGA设计控制电路简化了系统的组成和外围数字电路,易于系统扩展和升级,内部集成了信号处理、控制、检测电路,减少了系统的体积,缩短了开发周期,大大增强了系统的可靠性;配合功率驱动、电源等外围电路,完成信号采集、处理和控制等功能,节省了开发成本,使粮仓温湿度控制系统更加集成化。这也恰恰更加符合当今电子产品高精度,集成化的要求。 系统采用直接输出数字量的DS1820温度传感器和湿度传感器HS1101并将HS1101与555定时器组成振荡电路,其输出为频率脉冲信号,与湿度值成线性关系,该频率脉冲信号可直接送入FPGA进行计数,这样温湿度传感器输出的信号都没有经过放大、A/D转换,进一步减少了测量误差。控制电路采用了VHDL硬件描述语言进行编写。本装置已作出实样,通过了调试,已达到预期效果。
上传时间: 2013-06-16
上传用户:731140412
现代社会对各种无线通信业务的需求迅猛增长,这就要求无线通信在具有较高传输质量的同时,还必须具有较大的传输容量。这种需求要求在无线通信中必须采用效率较高的线性调制方式,以提高有限频带带宽的数据速率和频谱利用率,而效率较高的调制方式通常会对发端发射机的线性要求较高,这就使功率放大器线性化技术成为下一代无线通信系统的关键技术之一。 在本文中,研究了前人所提出的各种功放线性化技术,如功率回退法、正负反馈法、预失真和非线性器件法等等,针对功率放大器对信号的失真放大问题进行研究,对比和研究了目前广泛流行的自适应数字预失真算法。在一般的自适应数字预失真算法中,主要有两类:无记忆非线性预失真和有记忆非线性预失真。无记忆非线性预失真主要是通过比较功率放大器的反馈信号和已知输入信号的幅度和相位的误差来估计预失真器的各种修正参数。而有记忆非线性预失真主要是综合考虑功率放大器非线性和记忆性对信号的污染,需要同时分析信号的当前状态和历史状态。在对比完两种数字预失真算法之后,文章着重分析了有记忆预失真算法,选择了其中的多项式预失真算法进行了具体分析推演,并通过软件无线电的方法将数字信号处理与FPGA结合起来,在内嵌了System Generator软件的Matlab/Simulink上对该算法进行仿真分析,证明了这个算法的性能和有效性。 本文另外一个最重要的创新点在于,在FPGA设计上,使用了系统级设计的思路,与Xilinx公司提供的软件能够很好的配合,在完成仿真后能够直接将代码转换成FPGA的网表文件或者硬件描述语言,大大简化了开发过程,缩短了系统的开发周期。
上传时间: 2013-06-20
上传用户:handless
卫星导航定位系统可以为公路、铁路、空中和海上的交通运输工具提供导航定位服务。它能够军民两用,战略作用与商业利益并举。只要持有便携式接收机,则无论身处陆地、海上还是空中,都能收到卫星发出的特定信号。接收机选取至少四颗卫星发出的信号进行分析,就能确定接收机持有者的位置。 GPS导航定位接收机的理论基础即是扩频通信理论,扩频通信技术与常规的通信技术相比,具有低截获率,强抗噪声,抗干扰性,具有信息隐蔽和多址通信等特点,目前己从军事领域向民用领域迅速发展,成为进入信息时代的高新技术通信传输方式之一。扩频通信技术中,最常见的是直接序列扩频通信(DSSS)系统,本文所研究的就是这一类系统。 目前在卫星信号的捕获上一般使用两种方法:顺序捕获方法(时域法,基于大规模并行相关器)和并行捕获方法(频域法,基于FFT)。本文在第二章分别分析了现有顺序捕获和并行捕获技术的原理,并给出了它们的优缺点。 本文第三章对长码的直接捕获进行了深入的研究,基于对国内外相关文献中长码直捕方法的分析与对比,并且结合在实际过程中硬件资源需求的考虑,应用了基于分段补零循环相关和FFT搜索频偏的直捕方法。此方法大大减少了计算量,加快了信号捕获的速度。本方法利用FFT实现接收信号与本地长码的并行相关,同时完成频偏的搜索,将传统的二维搜索转换为并行的一维搜索,从而能快速实现长码捕获。 GPS信号十分微弱,灵敏度低,在战场环境下,GPS接收机会面临各种人为的干扰。如何从复杂的干扰信号中实现对GPS信号的捕获,即抗干扰技术的研究,是GPS也是本文研究一个的方面。第四章即研究了GPS接收机干扰抑制算法,在强干扰环境下,需要借助信号处理技术在不增加信号带宽的条件下提高系统的抗干扰能力,以保证后续捕获跟踪模块有充足的处理增益。 本文在第五章给出了GPS接收机长码捕获以及干扰抑制的FPGA实现方案,并对各主要子模块进行了详细地分析。基本型接收机中长码捕获采用频域方法,选用Altera StratixⅡ EP2S180芯片实现;抗干扰型接收机中选用Xilinx xc4vlx100芯片。实现了各模块的单独测试和整个系统的联调,通过联调验证,本文提出的长码直接捕获方法正确、可行。 本文提出的长码直捕方法可以在不需要C/A码辅助捕获下完成对长码的直接捕获,可以应用于GPS接收机,监测站接收机的同步等,对我国自主研发导航定位接收机也有重大的现实及经济意义。
上传时间: 2013-06-18
上传用户:wang5829
PWM(脉冲宽度调制)是一种利用数字信号来控制模拟电路的控制技术,广泛应用于电源、电机、伺服系统、通信系统、电子控制器、功率控制等电力电子设备。PWM技术在逆变电路中的应用最为广泛,也是变频技术的核心,同时在机床,液压位置控制系统等机械装置中也发挥着重要的作用。PWM技术已经成为控制领域的一个热点,因此研究PWM发生器对于基础理论的发展和技术的改进都有十分重要的意义。 论文研究的主要内容是用任意波形作为调制信号通过特定的方法来产生所需要的PWM波形,任意波形的合成和PWM波形的生成是两个主要任务。任意波形的合成是课题设计的一个难点,也是影响系统性能的关键因素之一。论文中波形合成采用直接数字频率合成(DDS)技术来实现。DDS技术以相位为地址,通过查找离散幅度数据进行波形合成,具有输出波形相位变化连续、分辨率高、频率转换速率快的优点,而且通过设置控制字可灵活方便地改变输出频率,是目前波形合成的主流方法。 实现PWM发生器的设计方法有多种。在综合比较了单片机、DSP、ARM等常用开发工具特点的基础上,本文提出了一种以可编程逻辑器件(PLD)为主体,单片机辅助配合的设计方法。随着计算机技术和微电了技术的迅速发展,可编程逻辑器件的集成度和容量越来越大,基于PLD的设计方法正逐步成为一种主流于段,是近些年来电子系统设计的一个热点。整个系统分为模拟波形产生、单片机控制电路、FPGA内部功能模块三大部分。FPGA部分的设计是以Altera公司的Quartus Ⅱ软件为开发平台,采用VHDL语言为主要输入手段来完成内部各功能模块的设计输入、编译、仿真等调试工作,目标载体选用性价比比较高的Altera公司的CycloneⅡ系列的器件;单片机控制电路主要负责控制字的设置和显示,波形数据的接受与发送;用MATLAB软件完成仟意波形的绘制和模拟任务。 论文共分五章,详细介绍了课题的背景、PWM发生器的发展和应用以及选题的目的和意义等,论述了系统设计方案的可行性,对外围电路和FPAG内部功能模块的设计方法进行了具体说明,并对仿真结果、系统的性能、存在的问题和改进方法等进行了分析和阐述。整个设计满足PWM发生器的任务和功能要求,设计方法可行。
上传时间: 2013-04-24
上传用户:ommshaggar