欢迎来到天天文库
浏览记录
ID:48581951
大小:710.50 KB
页数:99页
时间:2020-01-23
《单片机原理及应用 第三章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章MCS—51单片微机的指令系统3.1MCS—51指令及其表示方法指令系统是根据单片机硬件电路确定的一组操作编码,每一条指令完成一个特定的操作。指令系统设计是单片机设计的一个组成部分,芯片制造厂在推出单片机的同时也要提供指令系统,我们为了使用单片机就必须了解和熟悉其指令系统。本节介绍指令的格式,指令的字节数等基本知识。一、机器语言指令与汇编语言指令和一般的微机一样,指令具有两级形式,即机器语言指令和汇编语言指令,指令的集合便是程序。例如作10+20的运算可采用下列二进制机器语言程序:01110100B00001010
2、B16进制表示为74H0AH00100100B00010100B24H14H为了使用方便,用助记符来表示操作性质,并规定一定的书写格式,这样就形成了汇编语言级的指令和程序,例如上述程序的汇编语言形式为:MOVA,#0AHADDA,#14H操作码操作数上述程序中MOV为助记符,表示操作的性质是数据传送,助记符后面的符号A为累加器ACC,是数据传送的“目的”地址(地址为符号地址),#0AH中前缀#表示0AH为数据,处于此位置的数据或符号(或不带#的数)是数据传送的“源”(或“源”地址)。第二条指令的ADD表示加法操作。根据上
3、例可知,汇编语言指令的格式为:标号:助记符操作对象指令中的操作对象可以是寄存器名、存贮器地址、数据(带有前缀#等),操作对象可以是1个或2个、3个,例如上例中两条指令均为两个操作对象,第一个为目的操作对象,第二个为源操作对象。由于汇编语言指令不是机器代码,故编制好汇编语言程序后,还需要再翻译成机器语言程序(称目标程序),然后才能输入到计算机的存贮器中去执行。机器语言程序主要由数码组成,它包含两种不同性质的编码,一种是表示操作性质的数码——操作码,另一种为表示某个数(或地址)的编码——操作数,所以机器语言指令的格式为:地址
4、操作码操作数(0—2个)例如上述机器码程序74H、24H为操作码,0AH、14H为操作数,汇编语言指令与机器语言指令具有完全确定的关系,二者可以互相转换。二、指令的格式指令是完成一种特定操作的命令。一条指令由一个操作码和几个操作数组成,其中操作数可以是0—2个,在计算机中以8位二进制码为一个字节,各种编码均以字节为单位(即16进制的2位数)。单字节指令:双字节指令:三字节指令:操作码操作码操作数操作码第1操作数第2操作数二、指令的格式例如:操作内容汇编语言机器语言指令累加器内容加1INCA00000100(04H)累加器
5、内容取反CPLA01011000(18H)MOVA,Rn(n=0—7);机器码为11101rrrb式中rrr为0~7的二进制码MOVdata,#data;机器码为75Hdata#data操作码操作码第一操作数第二操作数3.2寻址方式一、指令系统中使用的符号A——累加器;B——乘、除运算寄存器,亦可当作一般寄存器使用;Rn——工作寄存器n=0—7;Ri——用于存放地址的工作寄存器i=0,1,亦称8位地址指针;DPTR——16位数据指针(由DPH,DPL两个寄存器组成),存放16位地址;@——以寄存器的内容为地址的前缀;rr
6、r:——R0—R7对应的rrr为000—111;dir(direct或data)——单片机内地址为dir(direct或data)的通用寄存器;#data——8位的数据;#data16——16位的数据;SP——堆栈指针,其内容为堆栈栈顶的地址;bit——位操作中的一个“位”;C——PSW中的最高位,亦称位累加器;addr11——11位地址;addr16——16位地址;rel——相对地址;(X)——表示X单元中的内容((X))——以X(R0,R1,DPTR,dir等)的内容为地址的该单元内容;其它——特殊功能寄存器符号及其
7、内部的“位”符号。二、寻址方式计算机的各种操作都涉及到寄存器和存贮器,它们分布在片内和片外,数量很多,因此指令中必须明确指明是哪一个寄存器或哪一个存贮单元,寻址方式就是在指令中给出的寻找操作数或操作数所在地址的方法。执行任何一条指令都需要使用操作数。MCS—51系列单片微机指令系统中共有以下7种寻址方式。1.立即寻址立即寻址是指在指令中直接给出参与操作的数,出现在指令中的这种操作数称为立即数,这种寻址方式称为立即寻址。为了与直接寻址指令中的直接地址相区别,在立即数前面必须加上前缀“#”。例如:指令MOVDPTR,#123
8、4H其中1234H就是立即数,指令功能是把16位立即数1234H送入数据指针DPTR中。1.立即寻址例如:指令MOVDPTR,#1234H机器语言指令:901234程序存储器901234PCPC+1PC+2特殊功能寄存器DPHDPL12342.直接寻址直接寻址是指在指令中直接给出操作数单元的地址。例如:指令MOVA,
此文档下载收益归作者所有