Freescale HCS08 单片机原理及应用 HUST & Freescale 联合实验室 94 体值,而无需用户自己计算
由于复位矢量位于 Flash 空间,并且每个复位/中断矢量占用 2 字节的Flash 空间,因此用 DC
W 伪指令定义
注意不能用 DS 伪指令定义 Flash 常量
对于有中断服务子程序的源程序,为了在发生中断时能够响应中断进入相应的中断服务子程序,和填写复位向量类似,只需将中断服务子程序的入口地址填入对应的中断复位向量区即可
3 汇编程序设计 3
1 算术 /逻辑运算程序设计 MCU 主要用于控制目的,其数据运算、处理的能力并不强
但由于 HCS08 系列 MCU 具有相应的算术、逻辑指令,因此它可以完成一些简单的算术/逻辑运算功能
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
2 查表和散转程序 HCS08 具有变址寻址方式,实现查表操作非常方便
利用查表可以实现转换、计算等各种功能
散转是指根据输入数据的不同跳转到不同的程序入口进行处理
2] 单字节变量 Hex _By te 中存放了一十六进制数,编写子程序将其转