Freescale HCS08单片机原理与应用-汇编程序设计.pdf

Freescale HCS08单片机原理与应用-汇编程序设计.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Freescale HCS08 片机原理及应用 体值,而无需用户自己计算。由于复位矢量位于Flash 空间,并且每个复位/ 中断矢量占用2 字节的 Flash 空间,因此用DC.W 伪指令定义。注意不能用DS 伪指令定义Flash 常量。 对于有中断服务子程序的源程序,为了在发生中断时能够响应中断进入相应的中断服务子程序, 和填写复位向量类似,只需将中断服务子程序的入口地址填入对应的中断复位向量区即可。 3.6.3 汇编程序设计 3.6.3.1 算术/逻辑运算程序设计 MCU 主要用于控制目的,其数据运算、处理的能力并不强。 由于HCS08 系列MCU 具有相 应的算术、逻辑指令,因此它可以完成一些简单的算术/逻辑运算功能。 [ 3.1] 若字变量Data1 和Data2 分别存放着两个16 位无符号数,编写求这两个数之和的子程 序,并将和存放到Sum 字节存储空间中。 两个16 位无符号数相加,和为17 位,至少需要3 个字节的存储空间,和按照从高位到低位的 顺序依次存放在以Sum 为首地址的字节存储单元中。 Add_Pro: CLC ; 清进位标志位 LDA Data1+1 ADD Data2+1 ; 两数低八位相加 STA Sum+2 ; 存低八位之和 LDA Data1 ADC Data2 ; 高八位带低八位进位加 STA Sum+1 ; 存高八位之和 ROLA AND #01H STA Sum ; 存高八位进位位 RTS 3.6.3.2 查表和散转程序 HCS08 具有变址寻址方式,实现查表操作非常方便。利用查表可以实现转换、计算等各种功能。 散转是指根据输入数据的不同跳转到不同的程序入口进行处理。 [ 3.2] 单字节变量Hex_Byte 中存放了一十六进制数,编写子程序将其转换为两位ASCII 码, 并将结果存至以Result 开首的字节存储单元中。例如4AH 的ASCII 码为3441H,$F9 的ASCII 码为 4639H 。 …… ORG 0070H ; 用户变量一定要定位在Ram 区域 Hex_Byte DS.B 1 Result DS.B 2 …… HUST Freescale 合实验室 94 Freescale HCS08 片机原理及应用 ORG 0870H ASCII_Table DC.B 0123456789ABCDEFG’ ; 常数表格、代码一定要定位在Flash 区域 …… Hex_To_Ascii: LDA Hex_Byte AND #$F0 ; 取出高4 位 NSA ; (A[3:0]:A[7:4]) →A TAX ; A→X LDA ASCII_Table,X ; 查表,得高4 位的ASCII 码 STA Result ; 存高4 位的ASC II 码 LDA Hex_Byte

文档评论(0)

0520 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档