指令系统与程序设计PPT培训课件.pptVIP

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令系统与程序设计PPT培训课件

?二进制数的逻辑异或运算 0 ? 0=0 1 ? 0=1 0 ? 1=1 1 ? 1=0 例: ?逻辑异或运算常用来将一个数据的某些位取反,而保持其他位不变。 例:将A的奇数位取反而偶数位保持不变,可用下面指令实现。 XRL A,#0AAH (XRL A,#1010 1010B) 1 0 1 0 0 0 0 1B ?) 0 1 1 0 1 1 0 1B 1 1 0 0 1 1 0 0B 逻辑运算指令图解 ?逻辑运算指令只有目的操作数为A时会影响P,对其他标志无影响。 4.5 控制转移指令 ?控制转移指令的功能就是改变程序计数器PC的内容,控制程序从原顺序执行地址转移到其他指令地址上。计算机在运行过程中,有时因为任务要求,程序不再按顺序逐条执行指令,需要改变程序运行的方向,此时需要改变程序计数器PC的内容。控制转移类指令正是为实现这一功能而设置的。 ?控制转移指令有无条件转移指令和条件转移指令。 1. 无条件转移指令 当程序执行这类指令时,就无条件地转移到指令所提供的地址(目标地址)上,指令提供目标地址的方法有多种。 (1)长转移指令 LJMP addr16 ;addr16为转移的目标地址,采用的寻址方式为直接寻址(绝对寻址)。指令功能:将addr16送入PC,使程序从当前地址(下一条指令的PC值)转移到addr16执行。在程序中,addr16用标号表示。 例: …… LJMP NEXT …… NEXT: …… (2)相对转移指令 SJMP rel ?rel是转移的目标地址相对于当前PC值的偏移量,8位带符号数,其范围为-128~+127。 ?指令采用的寻址方式为相对寻址方式。 理解相对寻址方式: 描述从A走到B的方法有两种: ?从2KM(A)走到5KM(即B)处 ?从2KM(A)向前走3KM 描述?直接给出目的地,相当于LJMP指令 描述?给出的是B相对于A的距离,相当于SJMP指令 A B 0 2 5 10KM ?相对转移指令的功能:将程序转移到PC+2+rel地址执行。其中PC为SJMP指令所在地址。 例:2000H SJMP 08H ; 程序跳转至2000H+2H+08H=200AH执行 例:2100H SJMP 0F5H ; 程序跳转至2100H+2H+(-0BH)=20F7H执行 ?在程序中,rel用目标地址标号表示。 例: SJMP NEXT …… NEXT: ?指令 LOOP:SJMP LOOP 也可写成 SJMP $ (4)短转移指令 AJMP addr11 (5)间接转移指令(散转指令) JMP @A+DPTR 转移的目标地址为A+DPTR的内容,但不影响A与DPTR的内容 例:编程实现,根据片内RAM 30H单元内容(0~9)转移至入口地址为OPR0~OPR9的程序段执行。 方法一:利用转移指令表 首先利用LJMP指令建立转移至OPR0~OPR9的转移指令表;然后根据30H内容,利用JMP指令转移至表中对应的指令。 MOV A,30H;取30H内容 ADD A,30H ADD A,30H;X3 MOV DPTR,#JPTAB JMP @A+DPTR JPTAB:LJMP OPR0 LJMP OPR1 . . . LJMP OPR9 JPTAB 02 OPR0H OPR0L 02 OPR1H OPR1L … 02 OPR9H OPR9L 方法二:利用转移地址表 首先将各入口地址连续存放在程序存储器中,形成转移地址表,然后编程根据30H内容查表取得相应的入口地址,最后利用JMP指令转移至相应程序段。 TAB? OPR0H OPR0L TAB+2H OPR1H OPR1L ? TAB+12H OPR9H OP

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档