资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
第11页 / 共20页
第12页 / 共20页
第13页 / 共20页
第14页 / 共20页
第15页 / 共20页
第16页 / 共20页
第17页 / 共20页
第18页 / 共20页
第19页 / 共20页
第20页 / 共20页
亲,该文档总共20页全部预览完了,如果喜欢就下载吧!
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,第三章 单片微机指令系统及程序设计,主讲人:吴雪,3.1 指令系统简介,数据传送指令28条,算术运算指令24条,逻辑运算指令25条,控制转移类指令17条,位操作指令布尔指令17条,单字节指令;49条 E6H,双字节指令;45条 7430H,三字节指令。17条 852000H,一、MCS-51指令分类:,1,、按功能分类:,2、按字节分类:,3、按寻址方式分:,立即寻址;,直接寻址;,存放器寻址;,存放器间接寻址;,变址寻址;,相对寻址;,位寻址。,51系列按寻址方式可分成七类:,按每条指令所需的周期时间可分为:,4.按执行速度,时钟周期=1/f晶振振荡周期,机器周期=12*时钟周期,设晶振f=12M,时钟周期=1/(12*10-6,机器周期=12*1/12*10-6 s=1 s,单周期指令,双周期指令,四周期指令,二、指令格式,标号:,以字母开始的l8个字符串组成,是符号地址,标号后必用冒号。,操作码:,表示指令的性质和功能,,用,助记符,表示。,操作数:,表示参加,运算的数据,或,数据有效的地址,,,分为,目的操作数,和,源操作数,。,源操作数,表示操作数的来源,,目的操作数,表示操作结果。,注释:,便于阅读程序,对指令的解释说明。注释前加分号。,MCS51单片微机采用汇编语言指令,1格式:,标号:操作码 目的操作数,源操作数 ;注释,在MCS-51指令中,一般指令主要由操作码、操作数组成。,指令应具有以下功能:,1操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。,2操作数指明操作的数本身或者是操作数所在的地址。,3指定操作结果存放的地址。,例如,LP:MOV A,#30H ;立即数30HA,标号 操作码 目的操作数 源操作数 注释,2机器码,7430H (MOV A,#30H),三、MCS-51 系列指令寻址方式,Rn:当前选中的存放器区中的8个工作存放器,R0R7n=07,Ri:当前选中的存放器区中的2个工作存放器R0、R1,#data 表示8位常数(立即数)。,#datal6 表示16位常数。,1 寻址:寻找操作数的单元地址。,2常用符号说明,add16 表示16位地址。,add11 表示11位地址。,direct 表示片内RAM(包括SFR)中8位直接地址。,bit 代表位地址。,rel 地址偏移量(指偏移字节数)。,间接寻址符号,A累加器。,B专用存放器,用于乘法和除法指令中。,C进位标志或进位位,或布尔处理机中的累加器,常用符号说明,3寻址方式,例 MOV A,#30H ;#30H 表示常数30H。,功能:把常数30H送入累加器A中,程序执行结果是A=30H。,注意:立即数30H的地址在程序区。,设该指令地址为2000H,其指令的机器代码为74 30,是两字节指令。,程序存储区,2000H 74H,2001H 30H,30H,一、,立即寻址,特点,:源操作数是常数,直接参与操作。,ACC,二、直接寻址方式,例如:MOV A,30H;30H无#号,是内存的一个单元地址。,功能:把30H地址单元中的内容送累加器A。,设 30H单元中存放着一个数FFH,程序执行结果A=FFH。,机器码:E530H,程序存储区 片内RAM ACC,2000H E5H 30H FFH FFH,2001H 30H,注意:直接地址只能表示专用存放器、内部存储器及位地址空间,特点:,源操作数是存放数据的一个单元地址。,三、存放器寻址方式,例如 MOV A,Rn,MOV P1,A,N=0,机器码为:1110 1000 E8H,N=1,机器码为:1110 1001 E9H,N=2,机器码为:1110 1010 EAH,N=7,机器码为:1110 1111 EFH,特点:源操作数在一个存放器中即存放器内容直接参与操作。,功能:把存放器Rn中的内容送入累加器A中。,四、存放器间接寻址,特点:源操作数通过存放器间接得到,即存放器中存放的是操作数的地址。,例如 MOV A,R0 ;(R0)A 机器码:E6H(11100110),MOVX A,R0,功能:Rn中存放的是一个地址,把该地址所指向的地址单元中的数据送入累加器A中。,例:,程序存储区 片内RAM ACC,2000H E6H R0 30H 30H 80H 80H,2001H,注意:间址单元可在片内低128B,也可在片外64KB中,假设 MOVX A,R0,程序存储区 片外RAM ACC,2000H E2H R0 30H 30H ABH ABH,2001H,注意:在访问片内RAM低128B和片外RAM低256B时,用R0或R1作地址指针,在访问全部64K片外RAM时,用DPTR作地址指针。,例R1=5AH,(5AH)=20H,假设 MOV A,R1,学生练习!,五、变址寻址方式(基址存放器+变址存放器间接寻址,特点:以DPTR或PC作基址存放器,累加器A作为变址存放器存放地址偏移量,这两个存放器相加,形成了16位的操作地址。,操作数地址=基址+变址,DPTRPC A,例如 MOVC A,A+DPTR,功能:把A+DPTR 形成的16位的新地址中的数据送入累加器A中。,设 A=EFH,DPTR=2000H,该指令执行结果是把20EFH地址单元中的数据送入A中。,在8051中,用变址寻址方式只能访问程序存储器,访问的范围为64KB。,ROM DPTR,DPH 20H,1000H 93H DPL 00H,ACC EFH,ALU,20EFH 47H,特点:把当前的PC值和偏移量值相加,形成了相对转移地址。,转移的目的地址是相对PC而言的。,例如 SJMP 08H,假设该指令在2000H处,执行该指令后,PC=2002H该指令是两字节指令,,转移的目的地址为:2002H+08H=200AH,例如 JC 03H 机器码:40H 03H,假设该指令在1000H处,当C=1时,跳转3个字节。执行该指令后,PC=1002H该指令是两字节指令,转移的目的地址为:1002H+03H=1005H,六、相对寻址方式,注意:,PC是执行该指令后的PC;,转移范围 -128B+127B,即以PC 为中心,,向前最大可转127字节,向后最远可转128字节。,七、位寻址方式,特点:操作数直接给出某位的地址,与字节操作时直接寻址方式类似,例如 MOV C,08H,SETB 07H,功能:把某位的状态0或1送入进位位C中C作为位累加器。,位寻址范围:,内存RAM中的位寻址区;20H-2FH 16个单元中的128位。,可位寻址的某些专用存放器。可以直接用存放器名字价位数表示。如:ACC.3、PSW.5等。,3.1.4 寻址空间及常用符号说明,1,.寻址空间,寻址方式,寻址空间,立即数寻址,程序存储器ROM,直接寻址,片内RAM低128B,特殊功能寄存器,寄存器寻址,工作寄存器R0R7,A,B,C,DPTR,寄存器间接寻址,片内RAM低128B;R0,R1,SP(仅PUSH,POP),片外RAM(R0,R1,DPTR),变址寻址,程序存储器 (A+DPTR),A+PC),相对寻址,程序存储器256B范围(PC+偏移量),位寻址,片内RAM的20H2FH字节地址;,部分特殊功能寄存器,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6