版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【学习目的和要求学习目的和要求】了解了解mcs-51mcs-51单片机的汇编指令格式、指令的分类和寻址方式单片机的汇编指令格式、指令的分类和寻址方式;掌掌握指令的含义、功能和用途握指令的含义、功能和用途; ;掌握掌握mcs-51mcs-51汇编语言编程的基本方法汇编语言编程的基本方法; ;熟练地使用熟练地使用mcs-51mcs-51单片机指令编制一些简单的程序。单片机指令编制一些简单的程序。第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统计算机工作的基本原理计算机工作的基本原理是存储程序并执行程序,而程序则由能实现某种功能的指令序列构成。编写程序时使用的程序设计语言有三种:
2、 机器语言、汇编语言汇编语言和高级语言汇编语言是用助记符来表示机器指令的一种程序设计语言汇编语言是用助记符来表示机器指令的一种程序设计语言 其语句格式如下: 标号:标号: 操作码操作码 操作数操作数 ; 注释注释 操作码操作码: :规定指令进行什么操作规定指令进行什么操作 操作数:指令操作的对象指令操作的对象 单字节指令单字节指令 操作码、操作数 同在一个字节中 双字节指令双字节指令 由两个字节组成:操作码+操作数(或操作数所在的地址) 操作数可以是立即数、直接地址和寄存器等。 三字节指令三字节指令 由三个字节组成:操作码+操作数+操作数第第3 3章章 mcs-51mcs-51单片机指令系统单
3、片机指令系统 mcs-51 mcs-51单片机的指令格式按字节长度可分为单片机的指令格式按字节长度可分为 无操作数的单字节指令无操作数的单字节指令 含有寄存器编号的单字节指令含有寄存器编号的单字节指令第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统寻址方式就是在指令中说明操作数所在地址的方寻址方式就是在指令中说明操作数所在地址的方法法共共7 7种寻址方式种寻址方式: 立即寻址立即寻址 直接寻址直接寻址 寄存器寻址寄存器寻址 寄存器间接寻址寄存器间接寻址 基寄存器加变址寄存器间接寻址基寄存器加变址寄存器间接寻址 相对寻址相对寻址 位寻址位寻址序号序号寻址方式寻址方式指令指令寻
4、址空间寻址空间立即寻址立即寻址操作数前面加前缀操作数前面加前缀 “ “#”#”程序存储器程序存储器 直接寻址直接寻址操作数直接以单元地址形操作数直接以单元地址形式给出式给出内部内部ramram128128个字节单元、位个字节单元、位地址空间、特殊功能寄存器地址空间、特殊功能寄存器 寄存器寻址寄存器寻址操作数在寄存器中操作数在寄存器中由指令指出某一个寄存器由指令指出某一个寄存器中的内容作为操作数中的内容作为操作数工作寄存器、特殊功能寄存工作寄存器、特殊功能寄存器器accacc、寄存器、寄存器b b、数据指针、数据指针dptrdptr及布尔累加器及布尔累加器c c寄存器间接寄存器间接寻址寻址寄存器
5、中存放的是操作数寄存器中存放的是操作数的地址,加标志的地址,加标志 内部内部ramram低低128128个单元、个单元、外部外部ramram64k64k字节的间接寻址字节的间接寻址 变址寻址变址寻址dptrdptr或或pcpc作基址寄存器,作基址寄存器,累加器累加器a a作为变址寄存器作为变址寄存器1616位的地址,访问位的地址,访问程序存储程序存储器器中的数据表格中的数据表格 相对寻址相对寻址当前当前pcpc值值+ +relrel= =源地址源地址+ +转移指令字节数转移指令字节数+ +relrel程序存储器,程序存储器,偏移量偏移量relrel 是是有符号的单字节数,相对值有符号的单字节数
6、,相对值在在-128-128+127+127范围内范围内位寻址位寻址指令中直接使用位地址指令中直接使用位地址内部内部ramram中的中的位寻址区位寻址区特殊功能寄存器中位寻址特殊功能寄存器中位寻址第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统立即寻址立即寻址直接寻址直接寻址寄存器寻址寄存器寻址第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址mcs-51mcs-51的基本指令共的基本指令共111111条,按条,按指令所占的字节指令所占的字节来分来分 (1) 单字节指令49条; (2) 双字节指令
7、45条; (3) 三字节指令17条。按指令的按指令的执行时间执行时间来分:来分: (1) 1个机器周期(12个时钟振荡周期)指令64条 (2) 2个机器周期(24个时钟振荡周期)指令45条 (3)4个机器周期(48个时钟振荡周期)乘、除两条指令 12mhz晶振:机器周期为1s第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统按指令的功能,mcs-51指令系统可分为下列五类:1. 1. 数据传送类数据传送类(28(28条条) )2. 2. 算术运算类算术运算类(24(24条条) )3. 3. 逻辑操作类逻辑操作类(25(25条条) )4. 4. 位操作类位操作类(17(17条条
8、) )5. 5. 控制转移类控制转移类(17(17条条) )第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统在分类介绍之前,先描述一下指令符号的意义 r rn n 当前工作寄存器区中的工作寄存器r0 r7 ,n= 07 r ri i 当前寄存器区中可作间接寻址寄存器的2个寄存器 r0、r1(i=0,1),间接寻址的ram单元(0255) directdirect 直接地址,即8位的内部ram或特殊功能寄存器地址#data#data 指令中的8位立即数#data#data1616指令中的16位立即数addraddr1616 16位目标地址,用于lcall和ljmp指令addr
9、addr11 11 11位目标地址,用于acall和ajmp指令第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统 relrel 相对转移指令中的偏移量,为8位的带符号补码数dptr dptr 数据指针,用作16位的数据地址寄存器 a a 累加器 b b 特殊功能寄存器,专用于乘(mul)和除(div)指令 c c (或cy) 进位标志或位累加器 bit bit 内部数据ram或特殊功能寄存器中的直接寻址位 间接寻址寄存器前缀 (x) (x) x中的内容 (x) (x) 由x寻址的单元内容 位取反 箭头右边的内容被箭头左边的内容所取代第第3 3章章 mcs-51mcs-51单
10、片机指令系统单片机指令系统 数据传送指令一般的操作是把源操作数传送到指令所指定的目标地址,指令执行后,源操作数不变,目的操作数被源操作数所代替。 第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统1. 1. 内部数据存储器间数据传送指令内部数据存储器间数据传送指令 (1)(1)立即寻址立即寻址 mov , 操作码助记符 目的操作数 源操作数 功能注释 机器代码(h) mov a, data ; (a) data 74 data mov direct, data ; (direct) data 75 direct data mov ri, data ; (ri) data 76
11、77 data mov rn, data ; (rn) data 787f data mov dptr, data16; (dptr)data16 90 data15-data0该指令能实现内部ram之间、特殊功能寄存器之间或特殊功能寄存器与内部ram直接数据传送 (2) (2) 寄存器寻址寄存器寻址 mov direct, a ; (direct) (a) , f5 direct mov ri, a ; (ri) (a) , f6f7 mov rn, a ; (rn) (a) , f8ff mov a, rn ; (a) (rn) , e8ef mov direct, rn ; (direc
12、t) (rn) , 888f direct (3) (3) 直接寻址直接寻址 mov a, direct ; (a)(direct) , e5 direct mov rn, direct ; (rn)(direct) , a8af direct mov ri, direct ; (ri)(direct) , a6a7 direct movdirect2,direct1;(direct2)(direct1),85direct1 direct2 (4) (4) 寄存器间接寻址寄存器间接寻址 mov a, ri ; (a) (ri) ,e6e7 mov direct, ri ; (direct) (
13、ri) ,8687 direct第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统2.2. 外部数据存储器数据传送指令外部数据存储器数据传送指令 由由dptrdptr内容指示外部数据存储器地址内容指示外部数据存储器地址 movx a, dptr ; (a) (dptr) , e0 movx dptr, a ; (dptr) (a) , f0 由由riri内容指示外部数据存储器地址内容指示外部数据存储器地址 movx a, ri ; (a) (ri) , e2e3 movx ri, a ; (ri) (a) , f2f3【例例 3-1】设外部ram (0203h)=ffh, 分
14、析以下指令执行后的结果。 mov dptr, 0203h ; (dptr) 0203h , 90 02 03 movxa, dptr ; (a) (dptr) , e0 mov 30h, a ; (30h) (a) , f5 30 mov a, 0fh ; (a) 0fh , 74 0f movxdptr, a ; (dptr) (a) , f0 执行结果为: (dptr)=0203h, (30h)=ffh, (0203h)=(a)=0fh。 movx ,第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统3. 3. 程序存储器向累加器程序存储器向累加器a a传送数据指令传送数
15、据指令采用变址寻址方式, 把程序存储器(rom或eprom)中存放的表格数据读出, 传送到累加器a。 movc a, a+dptr ; (a)(a)+(dptr) , 93 movc a, a+pc ; (pc)(pc)+1,(a)(a)+(pc),83【例例 3-2】设(a)= 30h,执行指令: 地址 指令 1000h movc a,a+pc结果为程序存储器中1031h单元的内容送入a。【例例 3-3】设(dptr)= 8100h,(a)= 30h,执行指令 movc a,adptr结果为程序存储器中8130h单元的内容送入累加器a。movc ,第第3 3章章 mcs-51mcs-51单片
16、机指令系统单片机指令系统4.4.数据交换指令数据交换指令(1)(1)字节交换指令字节交换指令将累加器a和源操作数内容相互交换。源操作数有寄存器寻址、直接寻址和寄存器间接寻址等。xch a, direct ; (a) (direct) , c5 directxch a, ri ; (a) (ri) i=0,1 , c6c7xch a, rn ; (a) (rn) n=07 , c8cf(2) (2) 半字节交换指令半字节交换指令将a的低4位和r0或r1指出的ram单元低4位相互交换,各自的高4位不变。xchd a, ri ; (a30) (ri)30) i=0,1, d6d7swap a ; (
17、a74) (a30) , c4【例例 3-4】设(a)=80h,(r7)=08h,执行指令: xch a,r7 ;(a)(r7) 结果:(a)=08h,(r7)=80h第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统5. 5. 栈操作指令栈操作指令堆栈指针堆栈指针sp指出堆栈的栈顶位置指出堆栈的栈顶位置(1) (1) 进栈指令进栈指令指令功能是首先将栈指针sp的内容加1,然后把直接地址指出的单元内容传送到栈指针sp所指的内部ram单元中。 push direct ;sp(sp)+1, (sp)(direct)(2) (2) 出栈指令出栈指令指令功能是栈指针sp所指的内部ra
18、m单元内容送入直接地址指出的字节单元中,栈指针sp的内容减1。 pop direct ;direct (sp) sp (sp)-1第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统【例例 3-5】设 (sp)=60h,(acc)=30h,(b)=70h,执行下列指令: push acc ;sp (sp)+1,即sp 61h,61h 30h push b ;sp (sp)+1,即sp 62h,62h 70h 结果:(61h)= 30h,(62)= 70h,(sp)= 62h【例例 3-6】设(sp)=62h,(62h)=70h,(61h)=30h,执行下列指令:pop dph
19、;dph (sp),sp (sp)-1pop dpl ;dpl (sp),sp (sp)-1结果:(dptr)= 7030h,(sp)= 60h执行pop direct指令不影响标志,但当直接地址为psw时,可以使一些标志改变,这也是通过指令强行修改标志的一种方法。【例例 3-7】设已把psw的内容压入栈顶,用下列指令修改psw内容使fo,rs1,rs0均为1,最后用出栈指令把内容送回程序状态字psw,实现对psw内容的修改。mov r0,sp ;取栈指针orl r0,#38h ;修改栈顶内容pop psw ;修改psw第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统单字节
20、加、减、乘、除法指令,是针对8位二进制无符号数;执行结果将影响进位cy、辅助进位ac、溢出标志位ov;但增1和减1指令不影响上述标志;对于特殊功能寄存器,字节地址d0h或位地址d0hd7h进行操作将影响标志。指令名称操作码助记符加法指令加法指令add带进位加法指令带进位加法指令addc带进位减法指令带进位减法指令subb a乘法指令乘法指令mul除法指令除法指令div增增1指令指令inc减减1指令指令dec十进制调整指令十进制调整指令da第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统1. 1.加法指令加法指令 add a, rn n=07 add a,direct add
21、 a, ri i=0,1 add a,#data 【例例 3-8】设(a)=85h,(r0)=20h,(20h)=0afh,执行指令: add a,r0 结果:(a)=34h; cy =1,ac=1,ov=12. 2. 带进位加法指令带进位加法指令 addc a, rn n=07 addc a,direct addc a, ri i=0,1 addc a,#data 【例例 3-9】设设(a)=85h,(20h)=offh,cy=1,执行指令: addc a,20h 结果: (a)=85h;cy=1,ac=1,ov=0 p=1 (a中1 的位数 为奇数)第第3 3章章 mcs-51mcs-51
22、单片机指令系统单片机指令系统3. 3. 带进位减法指令带进位减法指令 subb a,rn n=07 subb a,direct subb a,ri i=0,1 subb a,#data 注意如果位7有借位,则cy置位,否则cy清“0”;如果位3有借位,则ac置位,否则ac清“0”;如果位6有借位而位7没有借位或者位7有借位而位6没有借位则溢出标志ov置位,否则溢出标志清“0”。第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统4 4. . 增增1 1指令指令 inc a inc rn n=07 inc direct inc ri i=0,1 inc dptr 【例例 3-10
23、】设(a)=0ffh,(r3)=0fh,(40h)=0f0h(r0)=30h ,(30h)=00h,执行下列指令: inc a ;a(a)+1 inc r3 ;r3(r3)+1 inc 40h ; 40h(40h)+1 inc r0 ;(r0)(r0)+1结果:(a)=00h,(r3)=10h,(40h)= f1h,(30h)= 01h, psw不变。5. 5. 减减1 1指令指令 dec a dec rn n=07 dec direct dec ri i=0,1【例例 3-11】设(a)=0fh,(r7)=19h,(30h)=00h,(r1)=31h,(31h)=0ffh,执行指令: dec
24、 a ; a(a)-1 dec r7 ; r7(r7)-1 dec 30h ; 30h(30h)-1 dec r1 ;(r1)(r1)-1结果: (a)= 0eh,(r7)=18h,(30h)=0ffh,(31h)=0feh,不影响标志。第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统6. 6. 乘法指令乘法指令 mul ab 【例例 3-12】设(a)=50h,(b)=0a0h,执行指令: mul ab 结果:(b)=32h,(a)=00h (即积为3200h)。cy=0,ov=1。7. 7. 除法指令除法指令 div ab 【例例 3-13】设(a)= 0fbh,(b)
25、= 12h,执行指令。 div ab 结果:(a)= 0dh,(b)= 11h,cy = 0,ov = 0。8.8.十进制调整指令十进制调整指令 da a【例例 3-14】设(a) =56h, (r5)=67h,执行指令: add a,r5 da a 结果:(a)=23h,cy=1第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统标志位影响第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统算术运算类指令第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统1 1 简单逻辑操作指令简单逻辑操作指令 累加器清零 clr a 累加器内容按位取反 cp
26、l a 左循环移位指令 累加器内容循环左移 rl a 累加器带进位左循环移位指令 rlc a 右循环移位指令 累加器内容循环右移指令 rr a 累加器带进位右循环移位指令 rrc a 累加器半字节交换指令 swap a 【例例3-153-15】设(a)=10101010h,执行指令: cpl a 结果:(a)=01010101h【例例3-163-16】设(a)=0c5h,执行指令: swap a 结果:(a)=5ch第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统2. 2. 逻辑与指令逻辑与指令 anl 3. 3. 逻辑或指令逻辑或指令 orl4. 4. 逻辑异或指令逻辑异
27、或指令 xrl anl orl xrl a,rn n=07a,direct a,ri i=0,1a,#data direct,a direct,#data 第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统【例例3-173-17】设(a)= 07h, (r0)= 0fdh执行指令 anl a,r0 0 0 0 0 0 1 1 1 ) 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 结果:(a)= 05h【例3-18】设(p1)= 05h,(a)= 33h执行指令 orl p1,a 0 0 0 0 0 1 0 1 ) 0 0 1 1 0 0 1 1 0 0 1
28、1 0 1 1 1 结果:(p1)= 37h【例3-19】设(a)= 90h,(r3)= 73h,执行指令: xrl a, r3 1 0 0 1 0 0 0 0 nor 0 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1结果:(a)= 0e3h 第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统1. 1.数据位传送指令数据位传送指令 mov c,bit 或 mov bit,c 2. 2. 位变量修改指令位变量修改指令 clr c 或 clr bit cpl c 或 cpl bit setb c 或 setb bit 进行位清“0”,取反,置“1”,不影响其他标志。
29、3. 3. 位变量逻辑与指令位变量逻辑与指令 anl c,bit 或 anl bit,c 4. 4. 位变量逻辑或指令位变量逻辑或指令 orl c,bit 或 orl bit,c 第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统【例例3-20】 mov c,06h ;cy (20h.6) mov p1.0,c ;p1.0cy【例例3-21】 clr c ;cy 0 clr 27h ;24h.7 0 cpl 08h ;21h.0(21h.0) setb p1.7 ; p1.71【例例3-22】设p1为输入口,p3.0作输出线,执行下列命令: mov c,p1.0 ;cy (p
30、1.0) anl c,p1.1 ;cy (cy) (p1.1) anl c, p1.2 ;cy (cy)(p1.2) mov p3.0 ,c ;p3.0 cy 结果: p3.0 = (p1.0)(p1.1)(p1.2)【例例3-23】设 p1口为输出口,执行下列指令: mov c,00h ;cy (20h.0) orl c,01h ;cy (cy)(20h.1) orl c,02h ;cy (cy)(20h.2) orl c,03h ;cy (cy)(20h.3) orl c,04h ;cy (cy)(20h.4) orl c,05h ;cy (cy)(20h.5) orl c,06h ;cy
31、 (cy)(20h.6) orl c,07h ;cy (cy)(20h.7) mov p1. .0,c ;p1. .0 cy结果:结果:内部内部ram中中20个单元个单元只要有一位只要有一位为为1,则,则p1.0输出就输出就为为1。第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统5. 5. 位变量条件转移指令位变量条件转移指令 助记符 转移条件 jc rel cy=1 jnc rel cy=0 jb bit,rel (bit)=1 jnb bit,rel (bit)=0 jbc bit,rel (bit)=1这一组指令的功能为:jc:如果进位标志cy为1,则执行转移。即跳到
32、标号rel处执行,为零则执行下一条指令。jnc:如果进位标志cy为0,则执行转移。即跳到标号rel处执行,为1则执行下一条指令。jb:如果直接寻址位的值为1,则执行转移。即跳到标号rel处执行,为零则执行下一条指令。jnb:如果直接寻址位的值为0,则执行转移。即跳到标号rel处执行,为1则执行下一条指令。jbc:如果直接寻址位的值为1,则执行转移,并清除该位。即跳到标号rel处执行,为零则执行下一条指令,然后将直接寻址的位清“0”。第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统1. 1. 无条件转移指令无条件转移指令 绝对转移指令绝对转移指令 ajmp addr11 相对
33、转移指令 sjmp rel 在编写程序时,只需直接写出要转向的目标地址标号。loop: mov a,r5 sjmp loop 相对偏移量rel的值需要根据跳转的目标地址进行计算: 向前转移:rel= ffh源地址+目标地址1 向后转移:rel=目标地址源地址2 长跳转指令 ljmp addr16 例如执行指令: ljmp 2a00h 间接跳转指令 jmp a+dptr 第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统【例例3-24】如果累加器a中存放待处理命令编号(07),程序存储器中存放着标号为ptab的转移表首址,则执行下面的程序,将根据a中命令编号转向相应的命令处理程
34、序。pm: mov r1 ,a ;(a)*3a,(因ljmp指令 在程序存储器中占三字节) rl aadd a,r1 mov dptr,#ptab ;转移表首址dptr jmp a+dptr ;据a值跳转到不同入口ptab: ljmp pm0 ;转向命令0处理入口 ljmp pm1 ;转向命令1处理入口 ljmp pm2 ;转向命令2处理入口 ljmp pm3 ;转向命令3处理入口 ljmp pm3 ;转向命令3处理入口 ljmp pm5 ;转向命令5处理入口 ljmp pm6 ;转向命令6处理入口 ljmp pm7 ;转向命令7处理入口第第3 3章章 mcs-51mcs-51单片机指令系统单
35、片机指令系统2 2条件转移指令条件转移指令 jz rel ;如果(a)= 0,则执行转移 jnz rel ;如果(a) 0,则执行转移(1)条件满足时转移,先把pc指向下一条指令的第一个字节地址,再把有符号的相对偏移量加到pc上,计算转向的目的地址。(2)条件不满足时则顺序执行下面的指令。3 3比较不相等转移指令比较不相等转移指令cjne a,direct,rel cjne rn,#data,rel cjne a,#data,rel cjne r1,#data,rel 4 4减减1 1不为不为0 0转移指令转移指令djnz rn,rel ;n = 07djnz direct,rel 【例例3-
36、25】延时程序:start:setb p1.1 ;p1.11 dl:mov r0 ,#03h ;r003h(置初值) dl0:mov 31h,#0f0h ;31hf0h(置初值) dl1:djnz 31h,dl1 ;31h( 31h)1, djnz r0,dl0 ;r0(r0)1, cpl p1.1 ;p1.1求反 ajmp dl 第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统5 5、调用及返回指令、调用及返回指令 绝对调用指令 acall addr11 长调用指令 lcall addr16 acall执行时pc加2获得下条指令的地址,并把这16位地址压入堆栈,栈指针加2
37、。然后把指令中的a10a0值送入pc中的pc10pc0位,pc的pc15pc11不变。必须与acall后面一条指令的第一个字节在同一个2k区域的存储器区内。 lcall执行时把pc内容加3获得下一条指令首地址,并把它压入堆栈(先低字节后高字节),然后把指令的第二、第三字节(a15 a8,a7 a0)装入pc中,转去执行该地址开始的子程序。可以调用存放在存储器中64k字节范围内任何地方的子程序。【例3-26】设(sp)=60h,标号地址start为0100h,标号mir为8100h,执行指令:start:lcall mir结果:(sp)=62h,(61h)=03h,(62h)=01h,(pc)=
38、8100h。【例3-27】设(sp)=60h,标号地址here为0123h,子程序sub的入口地址为0335h,执行指令:here:acall sub结果:(sp)=62h,堆栈区内(61h)=25h,(62h)=01h, (pc)=0335h第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统6. 6. 返回指令返回指令 (1)子程序返回指令 ret (2)中断返回指令 reti 子程序返回指令是把栈顶相邻两个单元的内容弹出送到pc,sp的内容减2,程序返回到pc值所指的指令处执行。ret指令通常安排在子程序的末尾,使程序能从子程序返回到主程序。【例例3-283-28】设(s
39、p)=62h,(62h)=07h,(61h)=30h,执行指令ret结果:(sp)=60h,(pc)=0730h,cpu从0730h开始执行程序。 这条指令的功能与ret指令相类似。通常安排在中断服务程序的最后,它的应用在中断一节中讨论。7 7空操作指令空操作指令 nop 空操作也是cpu控制指令,它没有使程序转移的功能,一般用于软件延时。因仅此一条,故不单独分类。第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统指令名称指令名称指令格式指令格式指令解释指令解释设置起始地址设置起始地址org nnorigin
40、g定义字节定义字节 db define byte定义字定义字 dw define word预留存储区预留存储区 ds define storage为标号赋值为标号赋值 equ nn或表达式或表达式equatedata指令指令符号名符号名 data 表达式表达式xdata指令指令 符号名符号名 xdata 表达式表达式external data位地址符号位地址符号字符名称字符名称 bit 位地址位地址源程序结束源程序结束 end 第第3 3章章 mcs-51mcs-51单片机指令系统单片机指令系统1. 1.设置起始地址设置起始地址org org 【例例3-29】org 2000h mov a,20h 2.2.定义字节定义字节dbdb 【例例3-303-30】 org 1000h seg1: db 65h,68h,“4” seg2: db day end则 (1000h)=65h;seg1的地址为1000h (1001h)=68h;存放数字68h (1002h)=34h;数字4的ascii码 (1003h)=44h;d的ascii码 (1004h)=41h;a的ascii码 (1005h)=59h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF(陕) 082-2022 积分球光色综合测试系统校准规范
- 跨界合作助力品牌发展计划
- 社会治理背景下保安工作的创新实践计划
- 社交媒体的职业生涯路径计划
- 年度工作计划的可视化呈现方式
- 社区服务与社会责任教育计划
- 卫浴柜类相关行业投资方案
- TFT-LCD用偏光片相关项目投资计划书
- 雨水收集利用实施方案计划
- 货运保险合同三篇
- 济南律师行业分析
- 山东大学答辩专属PPT模板
- 《国际供应链管理》课件
- 烟台汽车西站工程施工组织设计
- 妇科常用药物课件
- 高中数学说课一等奖课件
- 2024年人口老龄化国情区情教育知识竞赛试题及答案
- 《踝关节康复训练》课件
- 实验用猪营养需要
- 2023年压疮护理年终总结
- 县中医院妇科重点专科建设汇报
评论
0/150
提交评论