- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
间接转移指令:JMP @A+DPTR 这条指令的用途也是跳转,转到什么地方去呢?这可不能由标号简单地决定了。 转移地址由A+DPTR形成,并直接送入PC。 指令对A、DPTR和标志位均无影响。 本指令可代替众多的判别跳转指令,又称为散转指令,多用于多分支程序结构中。 (2)第四条指令与前三条指令相比有所不同 例: 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 2. 条件转移指令(8条) 条件转移指令是指在满足一定条件时进行相对转移,否则程序继续执行本指令的下一条指令。 (1)判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。 (2)比较不等转移指令(4条) CJNE A,#data,rel CJNE A,direct,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 此类指令的功能是将两个操作数比较,如果两者相等,就顺序执行,如果不相等,就转移。 同样地,使用时,我们可以将rel理解成标号,即: CJNE A,#data,标号 CJNE A,direct,标号 CJNE Rn,#data,标号 CJNE @Ri,#data,标号 利用这些指令,可以判断两数是否相等。 但有时还想得知两数比较之后哪个大,哪个小,本条指令也具有这样的功能: 如果两数不相等,则CPU还会用CY(进位位)来反映哪个数大,哪个数小。 如果前面的数大,则CY=0,否则CY=1。 因此在程序转移后再次利用CY就可判断出哪个数大,哪个数小了。 例: MOV A,R0 CJNE A,#10H,L1 MOV R1,#0 ;如R0=10H,则不转移R1=00H; AJMP L3 L1:JC L2 ;如CY=1即 R010H,则转移 MOV R1,#0AAH ;否则CY=0即 R010H,则转移 AJMP L3 L2:MOV R1,#0FFH L3:SJMP L3 因此最终结果是:本程序执行前, 如果R0=10H,则R1=00H; 如果R010H,则R1=0AAH; 如果R010H,则R1=0FFH。 (3)减1不为0转移指令(2条) DJNZ Rn,rel DJNZ direct,rel DJNZ指令的执行过程是这样的: 它将第一个参数中的值减1,然后看这个值是否等于0,如果等于0,就往下执行,如果不等于0,就转移到第二个参数所指定的地方去。 例: DJNZ 10H,LOOP ... LOOP: ... 例: MOV 23H,#0AH CLR A LOOP: ADD A,23H DJNZ 23H,LOOP SJMP $ 上述程序段的执行过程是: 将23H单元中的数连续相加,存至A中,每加一次, 23H单元中的数值减1,直至减到0,共加(23H)次。 3.子程序调用和返回 (1)调用指令(2条) LCAL
您可能关注的文档
- 基础会计实训 工业和信息化高职高专“十二五”规划教材立项项目 习题答案作者 袁三梅 28390实训答案(2013.3).doc
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 首页.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境二.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境六.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境七.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境三.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境四.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境五.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境一.ppt
- 基础会计实训 项目二 记账凭证实训.pdf
- 基于汇编与C语言的单片机原理及应用电子教案程启明 第5章 IO接口传输方式及其中断技术 赵永熹制作 1.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch1.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch2.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch3.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch4.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch5.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch6.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch7.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch8.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch9.ppt
最近下载
- 4郭永康光的干涉-14.ppt VIP
- 中职教育一年级上学期英语《We Are Friends》课件.pptx
- 4郭永康光的干涉-11.ppt VIP
- 《危险化学品目录(2015版)》(2022年调整)-标注为爆炸物的化学品.pdf VIP
- 湘南学院2021-2022学年第2学期《高等数学(下)》期末试卷(B卷)附标准答案.pdf
- 人美版小学四年级上册美术教案.pdf VIP
- 人教PEP版五年级上册英语Unit 2 My week单元整体教学设计(教案).docx VIP
- 4郭永康 光干涉-7 .ppt VIP
- 小学语文新部编版一年级上册全册教案(2025秋新版).doc
- 湘南学院2022-2023学年第2学期《高等数学(下)》期末试卷(B卷)附标准答案.pdf
文档评论(0)