- 34
- 0
- 约1.77万字
- 约 89页
- 2017-06-24 发布于河南
- 举报
单片机第四章 MCS-51指令系统
例:十进制减法:R4=R3-R2 DECSUB:CLR C MOV A,#9AH SUBB A,R2 ADD A,R3 DA A MOV R4,A CLR C 例:延时10ms子程序(设晶振的频率为12MHz)。在知道系统的晶振频率之后,延时时间主要与两个因素有关:一是内循环中指令的执行时间;二是外循环时间常数(内循环的循环次数)的设置。在本例中,已知晶振频率为12MHz,则可得一个机器周期为1μs,执行一条 DJNZ Rn,rel的指令的时间为两个机器周期即2μs,10ms的延时子程序设计如下: 3.相对转移指令 SJMP rel 实现的程序转移是双向的。 在编写程序时,直接写上要转向的目标地址标号就可以。例如: LOOP: MOV A,R6 ? ┇ ? SJMP LOOP ┇ 程序在汇编时,由汇编程序自动计算和填入偏移量。手工汇编时,偏移量rel的值则需程序设计人员自己计算。 上面的前三条指令,统统理解成:PC值改变,即跳转到一个标号处。 那么他们的区别何在呢? 4.间接跳转指令 JMP @A+DPTR 由A中8位无符号数与DPTR的16位数内容之和来确定。以DPTR内容作为基址,A的内容作变址。 给A赋予不同的值,即可实现程序的多分支转移。 跳转的范围不同。 短转移类指令:AJMP addr11 长转移类指令:LJMP addr16 相对转移指令:SJMP rel 转移范围: 2KB 64KB -128~+127 指令构成不同。 AJMP、LJMP后跟的是绝对地址, 而SJMP后跟的是相对地址。 指令长度不同(2,3,2) 原则上,所有用SJMP或AJMP的地方都可以用 LJMP来替代。 间接转移指令:JMP @A+DPTR 这条指令的用途也是跳转,转到什么地方去呢?这可不能由标号简单地决定了。 转移地址由A(8位无符号)+DPTR形成,并直接送入PC。指令对A、DPTR和标志位均无影响。 本指令可代替众多的判别跳转指令,又称为散转指令,多用于多分支程序结构中。 第四条指令与前三条指令相比有所不同 例: MOV DPTR,#TAB ;将TAB代表的地址送入DPTR JMP @A+DPTR ;跳转 TAB: AJMP ROUT0 ;跳转ROUT0开始的程序段 TAB+2: AJMP ROUT1 ;跳转ROUT1开始的程序段 TAB+4: AJMP ROUT2 ;跳转ROUT2开始的程序段 TAB+6: AJMP ROUT3 ;跳转ROUT3开始的程序段 ... ROUT0: ... ROUT1: ... ROUT2: ... ROUT3: 执行该段程序后,程序将根据A中的内容转移到不同的程序段去执行----散转。 A=0,转ROUT0 A=2,转ROUT1 A=4,转ROUT2 A=6,转ROUT3 4.6.2 条件转移指令(8条) 条件转移指令是指在满足一定条件时进行相对转移,否则程序继续执行本指令的下一条指令。 一、判A内容是否为0转移指令(2条) JZ rel ;如果A=0,则转移,否则顺序执行。 JNZ rel ;如果A≠0,就转移。 转移到相对于当前PC值的8位移量的地址去。即: 新的PC值=当前PC+偏移量rel 我们在编写汇编语言源程序时,可以直接写成: JZ 标号 ;即转移到标号处。 例: MOV A,R0 JZ L1 MOV R1,#00H AJMP L2 L1: MOV R1,#0FFH L2: SJMP L2 END 在执行上面这段程序前:如果R0=0,结果R1=0FFH。而如果R0?0,则结果是R1=00H。 把上面的那个例子中的JZ改成JNZ,看看程序执行的结果是什么? 如果R0=0,结果R1=00H。如果R0?0,结果是R1中的值为0FFH。 二、比较不等转移指令(4条) CJNE A,#data,rel CJNE A,direct,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 此类指令的功能是将两个操作数比较,如果两者
您可能关注的文档
最近下载
- DB3620-2020 杨树立木材积表-安徽.pdf VIP
- 红楼梦87版字幕(李纯博书法).pdf VIP
- 2025年度 民主生活会班子对照检查发言材料(五个带头)_八篇.docx VIP
- 论文(基于spring boot框架的网上订餐系统的设计与实现)_kaic.docx VIP
- 携程定制师上岗证考试——VBK系统操作.docx VIP
- 人民陪审员实务:行政案件参审实务.pptx VIP
- 占道施工方案范本标准.docx VIP
- PVC管道安装流程及注意事项.doc VIP
- 内蒙古自治区2025年普通高等学校对口招生考试医卫类试卷.pdf
- FPGA设计技巧与案例开发详解-目录.pdf VIP
原创力文档

文档评论(0)