LCALL BINBCD ;调用拆字子程序 MOV A, HOUR INC A ;小时单元内容加1 MOV HOUR, A MOV R1,#35H ;R1指向35H单元 LCALL BINBCD ;调用拆字子程序,将小时拆开为十位、个位,分别存放到35H和34H单元 MOV A, HOUR CJNE A, #24,RN ;到24小时吗?未到返回主程序 MOV A, #00 MOV HOUR, A ;到24小时,小时单元清零 MOV R1,#35H LCALL BINBCD RN: POP ACC RETI
定时中断子程序流程图:
;BCD码拆字子程序:
;入口参数:A,待拆开的BCD码 ;R1:拆开后BCD码存放的末地址
;功能:将A中的两个十六进制数拆开为哦两个BCD码,分别存放到R1指向的两个缓冲单元
BINBCD:MOV B, #10