电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

FreescaleHCS08单片机原理及应用汇编程序设计

FreescaleHCS08单片机原理及应用汇编程序设计_第1页
1/6
FreescaleHCS08单片机原理及应用汇编程序设计_第2页
2/6
FreescaleHCS08单片机原理及应用汇编程序设计_第3页
3/6
Freescale HCS08 单片机原理及应用 HUST & Freescale 联合实验室 94 体值,而无需用户自己计算。由于复位矢量位于 Flash 空间,并且每个复位/中断矢量占用 2 字节的Flash 空间,因此用 DC.W 伪指令定义。注意不能用 DS 伪指令定义 Flash 常量。 对于有中断服务子程序的源程序,为了在发生中断时能够响应中断进入相应的中断服务子程序,和填写复位向量类似,只需将中断服务子程序的入口地址填入对应的中断复位向量区即可。 3.6.3 汇编程序设计 3.6.3.1 算术 /逻辑运算程序设计 MCU 主要用于控制目的,其数据运算、处理的能力并不强。但由于 HCS08 系列 MCU 具有相应的算术、逻辑指令,因此它可以完成一些简单的算术/逻辑运算功能。 [例 3.1] 若字变量 Data1 和 Data2 分别存放着两个 16 位无符号数,编写求这两个数之和的子程序,并将和存放到 Su m 字节存储空间中。 两个 16 位无符号数相加,和为 17 位,至少需要 3 个字节的存储空间,和按照从高位到低位的顺序依次存放在以 Su m 为首地址的字节存储单元中。 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 _By te 中存放了一十六进制数,编写子程序将其转换为两位 ASCII 码,并将结果存至以 Resu lt 开首的字节存储单元中。例如 4AH 的 ASCII 码为 3441H,$F9 的 ASCII 码为4639H。 …… ORG 0070H ; 用户变量一定要定位在 Ram 区域 Hex_Byte DS.B 1 Result DS.B 2 …… Freescale HCS08 单片机原理及应用 HUST & Freescale 联合实验室 95 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 位的 ASCII 码 LDA Hex_Byt...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

FreescaleHCS08单片机原理及应用汇编程序设计

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部