首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]RSP指令

[求助]RSP指令

 本人正在学HC08,对一些汇编语句不是很明白,望大侠指点一下


 这是用定时器的定时溢出中断功能设计时钟程一部分


TIME-INT:     SHH
               LDA    TISC
               BCLR   7,TISC
               LDA    SEC
               ADD    #$1
               DAA
               CBEQA  #$60,MIN_ADD
               STA    SEC
               BRA    CON          为什么要转移到CON?


 MIN_ADD:     CLR    SEC
               LDA    MIN
               ADD    #$1
               DAA
               CBEQA  #$60,HOUR_ADD
               STA    MIN
               BRA    CON


               ……


 CON:         PULH
              RTI


 MAIN:        RSP           RSP是复位堆桟指针,为什么要给给SP赋$FF?
              CLRA
              CLRX
              CLRH
              LDA    #$01
              STA    CONFIG1


 

一张白纸等着去填满
HC08的堆栈指针是16位的,而RSP是将0x00FF赋给堆栈指针,即指向零页的最后一个地址。实际上,用户可以将堆栈指针指向RAM区的任何一个地址。一般都会将其指向RAM的最后一个地址,而将零页地址空间留给常用的变量使用。
海纳百川  有容乃大
第一个问题看起来是一个时钟计时,SEC是秒钟计数器,若未计满60秒,则跳到CON,退出中断;若计满了60,则转到MIN_ADD继续分钟计时。
海纳百川  有容乃大
太谢谢版主了
一张白纸等着去填满
返回列表