第五章指令系统
- 格式:doc
- 大小:193.50 KB
- 文档页数:8
第五章AVR单片机指令系统计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。
计算机只能识别和执行机器语言的指令。
为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。
汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。
AVR单片机指令系统是RISC 结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。
SL-DIY02-3 开发实验器使用AT90S8535 单片机,有118 条指令, 而我们所做的11 个实验程序仅用了34 条指令, 我们重点讲这34 条指令, 其余指令就可自学了。
AVR 器件( 指令速查表) 118 条指令器件AT90S2313/2323/2343/2333 ,AT90S4414/4433/4434/8515,AT90S8534/8535 算术和逻辑指令BRCC k C 清零转位指令和位测试指令ADD Rd,Rr 加法BRSH k ≥转SBI P ,b 置位I/O 位ADC Rd,Rr 带进位加BRLO k 小于转(无符号) CBI P ,b 清零I/O 位◇ADIW Rdl,K 加立即数BRMI k 负数转移LSL Rd 左移SUB Rd,Rr 减法BRPL k 正数转移LSR Rd 右移SUBI Rd,Rr 减立即数BRGE k ≥转(带符号) ROL Rd 带进位左循环SBC Rd,Rr 带进位减BRLT k 小于转(带符号) ROR Rd 带进位右循环SBCI Rd,K 带C 减立即数BRHS k H 置位转移ASR Rd 算术右移◇SBIW Rdl,K 减立即数BRHC k H 清零转移SWAP Rd 半字节交换AND Rd,Rr 与BRTS k T 置位转移BSET s 置位SREG ANDI Rd,K 与立即数BRTC k T 清零转移BCLR s 清零SREG OR Rd,Rr 或BRVS k V 置位转移BST Rr,b Rr 的b 位送T ORI Rd,K 或立即数BRVC k V 清零转移BLD Rd T 送Rr 的b 位EOR Rd,Rr 异或BRIE k 中断位置位转移SEC 置位CCOM Rd 取反BRID k 中断位清零转移CLC 清零CNEG Rd 取补数据传送指令SEN 置位NSBR Rd,K 寄存器位置位MOV Rd,Rr 寄存器传送CLN 清零NCBR Rd,K 寄存器位清零◇LDI Rd,K 装入立即数SEZ 置位ZINC Rd 加1 ◇LD Rd, X X 间接取数CLZ 清零ZDEC Rd 减1 ◇LD Rd, X+ X 间接取数后+SEI 置位ITST Rd 测试零或负◇LD Rd,-X X 间接取数先-CLI 清零ICLR Rd 寄存器清零◇LD Rd,Y Y 间接取数SES 置位SSER Rd 寄存器置FF ◇LD Rd,Y+ Y 间接取数后+CLS 清零S 条件转移指令◇LD Rd, –Y Y 间接取数先-SEV 置位V RJMP k 相对转移◇LDD Rd,Y+q Y 间接取数+q CLV 清零V◇IJMP 间接转移(Z) ◇LD Rd, Z Z 间接取数SET 置位T RCALL k 相对调用◇LD Rd, Z+ Z 间接取数后+CLT 清零T◇ICALL 间接调用(Z) ◇LD Rd, –Z Z 间接取数先-SEH 置位H RET 子程序返回◇LDD Rd, Z+q Z 间接取数+q CLH 清零HRETI 中断返回◇LDS Rd,K 从SRAM 装入NOP 空操作CPSE Rd,Rr 比较相等跳行◇ST X ,Rr X 间接存数SLEEP 休眠指令CP Rd,Rr 比较◇ST X+ ,Rr X 间接存数后+WDR 看门狗复位CPC Rd,Rr 带进位比较◇ST –X,Rr X 间接存数先-90 条指令为CPI Rd,K 与立即数比较◇ST Y ,Rr Y 间接存数Attiny11/12/15/22=SBRC Rr,b 位清零跳行◇ST Y+ ,Rr Y 间接存数后+□+89 条基本指令是SBRS Rr,b 位置位跳行◇ST –Y,Rr Y 间接存数先-AT90S1200SBIC P ,b I/O 位清零跳行◇STD Y+q ,Rr Y 间接存数+qSBIS P ,b I/O 位置位跳行ST Z ,Rr Z 间接存数BRBS s,k SREG 位置位转◇ST Z+ ,Rr Z 间接存数后+ 118 条指令器件= BRBC s,k SREG 位清零转◇ST –Z,Rr Z 间接存数先- ◇+ 90 条指令器件BREQ k 相等转移◇STD Z+q ,Rr Z 间接存数+qBRNE k 不相等转移◇STS k,,Rr 数据送SRAM说明: SL-DIY02-3 开发实验器的 11 个实验程序例子 , 仅用 34 条指令( 以红色表示 )1. 不带进位加法ADD 一不带进位加说明:两个寄存器不带进位 C 标志加,结果送目的寄存器 Rd 。
第五章指令系统操作系统:DOS,WINDOWS,UNIX,......程序设计语言服务程序:KV300,PCTOOLS,...机器语言:汇编语言:高级语言解释执行编译执行PASCAL易教好学FORTRAN 计算C 长于计算控制BASIC易学好记COBOL事务管理应用软件:WORD,EXCEL,ACCESS,DBASE,......二进制,CPU直接执行的指令系统把源程序汇编成机器语言目标程序计算机系统软件5.1 指令系统概述计算机系统中运行的软件有系统软件和应用软件两种。
系统软件对整个计算机系统进行调度、管理、监视、服务,为用户提供使用方便,扩大机器功能,提高机器使用效率。
应用软件是用户针对某种领域实际应用需求而开发的软件。
许多通用商品化的应用软件现已成为系统软件,如Word 等。
前述所有各种软件的设计基础就是计算机的指令系统。
名词解释:指令:命令计算机直接进行某种基本操作的二进制代码串,也叫机器语言代码。
每条指令可以完成一个独立的算术运算或逻辑运算操作。
从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令。
微指令是微程序级的命令,它属于硬件;宏指令是由若干条机器指令组成的软件指令,它属于软件;而机器指令则介于微指令与宏指令之间。
指令系统:一台计算机能直接理解与执行的全部指令的集合称为该机的指令系统,也叫机器语言。
指令系统是进行计算机逻辑设计和编制程序的基本依据。
它直接说明了这台计算机的功能.不同类型CPU的指令系统是不能混用与兼容的,但同一系列的CPU一般升级后指令都有扩充,并可兼容。
复杂指令系统计算机(CISC)和精简指令系统计算机(RISC)5.2指令格式5.2.1 指令的结构指令字:代表指令的一组二进制代码信息;指令长度:指令字中二进制代码的位数;1、典型的指令格式OP A操作码OP——指明操作性质的命令码,提供指令的操作控制信息。
操作对象A——说明操作数存放的地址,有时则就是操作数本身。
第五章指令系统一、选择题1、采用直接寻址,操作数在中。
A、主存B、寄存器C、硬盘D、光盘2、为了缩短指令中某个地址段的位数,有效的方法是采取。
A、立即寻址B、变址寻址C、间接寻址D、寄存器寻址3、指令系统采用不同寻址方式的目的是。
A、实现存储程序和程序控制B、缩短指令长度,扩大寻址空间,提高编程灵活性C、可以直接访问外存D、提供扩展操作码的可能,并降低指令译码难度4、假设寄存器R中的数值为200,主存地址为200和300的地址单元中存放的内容分别是300和400,则方式下访问到的操作数为200。
A、直接寻址200B、寄存器间接寻址(R)C、存储器间接寻址(200)D、寄存器寻址R5、输入输出指令的功能是。
A、进行算术运算和逻辑运算B、进行主存和CPU之间的数据传送C、进行I/O设备和CPU之间的数据传送D、改变程序执行的顺序6、下列关于RISC的描述中,不正确的是。
A、只选用简单的,使用频率高的指令,所以采用RISC的CPU的性能较差,不能运行复杂的指令B、指令长度固定,指令格式和寻址方式少C、采用硬布线逻辑,提高指令执行的速度D、采用指令流水线技术,大部分指令都能在一个机器周期中完成。
7、间接寻址是指。
A、指令中直接给出操作数地址B、指令中直接给出操作数C、指令中间接给出操作数D、指令中间接给出操作数的地址8、基址寻址方式中,操作数的有效地址等于。
A、基址寄存器的内容加上形式地址(偏移量)B、变址寄存器的内容加上形式地址(偏移量)C、程序计数器的内容加上形式地址(偏移量)D、堆栈寄存器的内容加上形式地址(偏移量)8.通常指令编码的第一个字段是__ __A.操作B.指令C.操作码D.控制码9.堆栈常用于 _A.程序转移B.输入输出C.数据移位D.保护程序现场10.在堆栈中保持不变的是_ _A.栈指针B.栈底C.栈顶D.栈中数据11.设寄存器R=1000,地址1000处的值为2000,2000处为3000,PC的值为4000,用相对寻址方式,-2000(PC)的操作数是__ __A.4000 B.3000C.5000 D.700012.直接转移指令的功能是将指令中的地址代码送入__ __A.PC B.累加器C.存储器 D.地址寄存器13.以下的 D 不能支持数值处理。
教学内容安排•第一章绪论•第二章数码系统•第三章运算方法和运算器•第四章存储系统•第五章指令系统•第六章中央处理器•第七章输入输出设备•第八章输入输出系统第五章指令系统5.1 基本概念5.2 指令格式5.3 寻址方式5.4 指令的种类5.5 指令系统的发展教学重点和难点•寻址方式第五章指令系统 5.1 基本概念•指令(Instruction):计算机的硬件(CPU)设计好以后它能直接识别并执行的基本操作。
•指令系统(Instruction Set)或指令集:某个CPU能够直接识别并执行的所有指令的集合。
•指令字长:指令的二进制代码的位数。
注意:指令系统均针对特定的CPU而言,不同的CPU它们的指令系统可能不相同或不完全相同。
第五章指令系统5.1 基本概念5.2 指令格式5.3 寻址方式5.4 指令的种类5.5 指令系统的发展教学重点和难点•寻址方式第五章指令系统 5.2 指令格式任何一条机器指令是机器语言的一个语句,它由一组二进制代码构成。
包括两部分:•操作码•地址码第五章指令系统 5.2 指令格式根据地址码所给出的地址的个数,可以把指令分为零地址指令,一地址指令,二地址指令,三地址指令,和多地址指令。
第五章指令系统 5.2 指令格式指令字长与机器字长•指令的长度取决于操作码的长度和地址码的长度。
任何一条指令构成一个指令字。
•一个指令字中所包含的二进制数码的位数称为指令字长度。
•机器字长是指计算机的运算部件一次能直接处理的二进制数据的位数。
•指令长度与机器字长没有固定的关系,指令长度可以小于或大于机器的字长。
如单字长,半字长,双字长甚至4字长指令都是可取的。
•例如Intel8086的机器字长是16位,而指令字长最短的有8位,最长的有48位。
第五章指令系统 5.2 指令格式8086 微处理器的存储器管理•Intel 8086是字长16位的处理器,地址线20根,按字节编址,最大存储容量为1MB。
地址范围是00000H-FFFFFH。
第六节 高级指令
一、 高级指令的构成
高级指令由高级指令功能号(F0~F165)、助记符和操作数三部分构成。
高级指令功能号用于输入高级指令。
编程时,高级指令前应加触发信号。
编程时,若多个高级指令连续使用同一触发信号,则不必每次都写出该触发信号。
DF )。
二、高级指令的类型
1、数据传输指令
这些指令可对16位或32位数据进行拷贝或交换。
F0 MV , WX0 , WR1
注:[* ] 标志(特殊继电器)可用于该指令(根据情况通断);
[ ] 空白标志(特殊继电器)不可用于该指令(保持原状态)。
2、BIN(二进制)算术运算指令
这些指令可对16位或32位数据进行加、减、乘、除运算。
如表5.37所示。
3、BCD码算术运算指令
这些指令可对BCD码数据进行加、减、乘、除运算。
4、数据比较指令
这些指令可对16位或32位数据进行比较。
5、逻辑运算指令
这些指令可实现逻辑(与、或、异或、同或)运算。
6、数据转换指令
这些指令可对16位或32位数据按指定格式转换。
7、数据移位指令
这些指令可将数据以字为单位或以十六进制数的位为单位移位。
8、可逆计数器和左/右移位寄存器指令
这些指令可实现加/减计数和数据左/右移位。
9、数据循环移位指令
这些指令可使数据向右或向左循环移位。
10、位操作指令
这些指令以位为单位处理数据。
11、辅助定时器指令
该指令是以0.01s 为单位的延时动作定时器。
号
12、特殊指令
这些指令执行特殊功能以控制FP1的运行。
13、高速计数器特殊指令
这些指令执行高速计算器功能。