飞思卡尔8位单片机-第6章- 指令系统与汇编程序设计.pptVIP

飞思卡尔8位单片机-第6章- 指令系统与汇编程序设计.ppt

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

* 打开工程所在文件夹中的“bin”文件夹,用记事本打开*.abs.s19(“*”号是所建工程名称)文件,就可以看到S记录。 * “周期数”只在使用“C”选项时才出现在列表中。它包含在方括号中,以便与其他部分相区别。 汇编列表可选择包含程序中出现的全部符号的符号表或交叉访问符号表。在选择这些功能时,它们均打印在汇编列表后。 符号表 符号表包含每个符号的名字和它所对应的值。格式如下: 符号名 地址 “符号名”与源程序中的标号部分相同,“地址”为该符号对应单元的十六进制地址。 交叉访问符号表。 交叉访问符号表除了符号名和地址外,还包含访问该符号的第一行语句的行号。格式如下: 符号名 地址 *行号 行号2 行号3 注:“*”号表示行号的开始。“行号”为出现该符号的汇编列表中的行号。 2.查表和散转 查表是汇编程序设计的一个重要技术,巧妙的运用查表可以避免复杂的编程,如立方表,函数表,数码管的显示段码等。 散转就是按照输入数据的不同转移到不同的程序的过程。查表运算与转移指令配合使用,就可以方便地实现散转功能。 实现散转的具体做法是,在程序中定义一块连续存储单元作为跳转表,表中顺序存放各分支子程序的跳转地址。各跳转地址在表中的偏移的起始地址等于跳转表首地址加上它们各自的序号与所占字节数的乘积 例:设单字节变量NUM放在RAM的0060H单元,取值范围为0~9,编写一个程序,实现求出该变量的立方值的功能。 分析:此时就可以用查表方式来实现,在RAM中设置一个立方表。因为7的立方已经超过1字节的存储大小,所以,每个立方值用2个字节单元来存储。变量NUM对应的立方值的存储地址Add_n与立方表的首地址TAB的关系为: Add_n=TAB+NUM*2. ORG $0060 NUM RMB 1 ;为变量保留1字节单元 ANS RMB 2 ;为结果存储保留2字节单元 ORG $0070 TAB: FDB $0000, $0001, $0008, $001B,$0040,$007D,$00DB, $0157,$0200, $02D9 SUBPRO:LDX NUM ;待求立方的变量?X LSLX ;逻辑左移,即乘2 LDA TAB, X ;查立方表,立方值高位?A STA ANS ;立方值高位?ANS LDA TAB+1, X ;查立方表,立方值低位?A STA ANS+1 ;立方值低位?ANS+1 RTS ;子程序返回 例:设单字节变量NUM的取值为0~3,其值分别对应子程PRO0~PRO3,编写程序,实现根据NUM变量的值跳转到对应的子程。 分析:由于TAB表中JSR为三字节指令,RTS为一字节指令,所以变量NUM,散转表TAB地址,和相应变量对应的子程的跳转入口地址Add_PRO_n之间的关系为: Add_PRO_n=TAB+NUM*4。 BRA: LDX NUM LDA #$04 MUL ;相乘 TAX ;(X)? A JMP TAB, X TAB: JSR PRO0 ;跳转至子程序 RTS JSR PRO1 RTS JSR PRO2 RTS JSR PRO3 RTS ... PRO0: ... RTS PRO1: ... RTS PRO2: ... RTS PRO3: ... RTS N EQU 63 ; 外循环计数器 ORG $50 Count RMB 1 ; 内循环计数器 ORG $6E00 Delay LDA #N Loop DBNZ Count, Loop; 内循环,计数器初值$00 DBNZA Loop ;外循环

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档