第3章 AVR的指令与汇编系统.pdf

第3章 AVR的指令与汇编系统.pdf

ID:23536422

大小:317.32 KB

页数:40页

时间:2018-11-08

第3章 AVR的指令与汇编系统.pdf_第1页
第3章 AVR的指令与汇编系统.pdf_第2页
第3章 AVR的指令与汇编系统.pdf_第3页
第3章 AVR的指令与汇编系统.pdf_第4页
第3章 AVR的指令与汇编系统.pdf_第5页
资源描述:

《第3章 AVR的指令与汇编系统.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于AVR的单片嵌入式系统原理与实践应用第3章AVR的指令与汇编系统传统的8位单片机(如最典型的8051结构的单片机)大都采用复杂指令CISC(ComplexInstructionSetComputer)系统体系。由于CISC结构存在指令系统不等长,指令数多,CPU利用效率低,执行速度慢等缺陷,已不能满足和适应设计高档电子产品和嵌入式系统应用的需要。作为8位的AVR单片机来讲,除了其具备比较完善和功能强大的硬件结构和组成外,其更重要的是它的内核和指令系统为先进的RISC体系结构,采用了大型快速存取寄存器组(32个通用工作寄存器)、快速的单周期指

2、令系统以及单级流水线等先进技术。因此,AVR内核核指令系统的显著特点有:1.16/32位定长指令AVR的一个指令字为16位或32位,其中大部分的指令为16位。采用定长指令,不仅使取指操作简单,提高了取指令的速度;同时也降低了在取指操作过程中的错误,提高了系统的可靠性。2.流水线操作AVR采用流水线技术,在前一条指令执行的时候,就取出现行的指令,然后以一个周期执行指令。大大提高了CPU的运行速度。3.大型快速存取寄存器组传统的基于累加器的结构单片机(如8051),需要大量的程序代码来完成和实现在累加器和存储器之间的数据传送。而在AVR单片机中,采

3、用32个通用工作寄存器构成大型快速存取寄存器组,用32个通用工作寄存器代替了累加器(相当有32个累加器),从而避免了传统结构中累加器和存储器之间数据传送造成的瓶颈现象。由于AVR单片机采用RISC结构,使得它具有高达1MIPS/MHz的高速运行处理能力。同时也能更好地适合采用高级语言(例如C语言、BASIC语言)来编写系统程序,高效地开发出目标代码,以加快产品进入市场的时间和简化系统的设计、开发、维护和支持。3.1ATmega16指令综述指令是CPU用于控制各功能部件完成某一指定动作或操作的指示和命令。指令不同,CPU和各个功能部件完成的动作也

4、不一样,指令的功能也不同。程序员根据系统的要求,选用不同功能指令的有序组合就构成的程序。CPU执行不同的程序,就能完成不同的任务。CPU指令的的集合或全体称为指令系统。指令系统是CPU的重要性能指标之一,也是学习以及使用单片机的重要内容。由于CPU结构的不同,每一种CPU的指令和功能也不同,因此学习AVR,就必须要了解它的指令结构、功能和特点。只有在此基础上,才能更清楚的了解AVR的硬件使用,编写出好的系统程序。AVR单片机指令系统是RISC结构的精简指令集,是一种简明、易掌握、效率高的指令系统。ATmega16单片机完全兼容AVR的指令系统,

5、具有高性能的数据处理能力,能对位、华东师范大学电子科学技术系马潮3-1第3章AVR的指令与汇编系统半字节、字节和双字节数据进行各种操作,包括算术和逻辑运算、数据传送、布尔处理、控制转移和硬件乘法等操作。ATmega16共有131条指令,按功能可分为五大类,它们是:l算术和逻辑运算指令(28条);l比较和跳转指令(36条);l数据传送指令(35条);l位操作和位测试指令(28条);lMCU控制指令(4条)。在本章中将对ATmega16全部的131条指令,包括字节数、功能、对标志位的影响以及执行周期数等进行简单的描述。3.1.1指令格式以及三种表示

6、方式指令格式是指指令码的结构形式。通常,指令可分为操作码和操作数两部分。其中操作码部分比较简单,操作数部分则比较复杂,而且随CPU类型的不同,寻址方式的不同有较大的变化。AVR的指令的一般格式为:操作码第1操作数或操作数地址第2操作数或操作数地址其中,操作码用于指示CPU执行何种操作,是加法操作还是减法操作,是数据传送还是数据移位等。第1操作数或操作数地址用于表示参与操作的第1个操作数,或该操作数在内存的地址,同时该地址也将作为操作结果存放的地址。第2操作数或操作数地址(如果有的话)用于表示参与操作的第2个操作数,或该操作数在内存的地址。需要注

7、意的是,在AVR的指令中,有相当一部分只有操作码,或只有操作码和第1操作数或操作数地址,前者在操作码中隐含了操作数或操作数的地址。指令的表示方式是指采用何种形式描述指令,也是人们用于编写和阅读程序的基础。通常指令采用二进制、十六进制和助记符三种表示方式。指令的二进制表示形式,是一种可以直接为CPU识别和执行的形式,故称为指令的机器码或汇编语言的目标代码,下载到AVR中的代码必须是可执行的目标代码。但二进制形式的代码具有难读、难写、难记忆和难修改等缺点,因此人们通常不用它来编写程序。指令的十六进制形式是二进制形式的变型,只是将二进制代码4位一组用

8、十六进制的形式描述。十六进制的形式虽然比二进制形式读写方便些,但还是不易被人们识别和修改,所以通常也不被用于编写程序,只是在某些场合,如调试环境中的指

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。