Page 77 -
P. 77

INC   R2            ;呼叫轉換為二進位時進制副程式
           CJNE  R2,#12,WAIT   ;呼叫轉換為二進位時進制副程式
           MOV   R2,#0         ;呼叫轉換為二進位時進制副程式
           JMP   WAIT
SHOW: CJNE       R6,#10,SHOW1
           MOV   A,R0
           CALL  BCD
           MOV   P1,A
SHOW1: CJNE      R6,#11,SHOW2
           MOV   A,R1
           CALL  BCD
           MOV   P2,A
SHOW2: CJNE      R6,#12,WAIT
           MOV   A,R2
           CALL  BCD
           MOV   P3,A

WAIT: JBC        TF0,OVERFLOW  ;測試是否計時完畢產生溢位
           JMP   WAIT          ;否, 則持續測試溢位之發生

OVERFLOW:        P0.0
           CPL   TR0
                 R6
PASS: CLR        LOOP
           INC
           JMP

BCD:  MOV        R3,A
      MOV        B,#10
      DIV        AB
      MOV        R4,B
      MOV        B,#16
      MUL        AB
      ADD        A,R4
      RET
      END

程式說明:此程式時分秒由零開始計時,顯示時分秒在 P1、P2 與 P3,以二進制十進位
               方式(BCD)顯示。

練習: 1. 在本程式加上輸入目前的時分秒,做為計時初始值。
   72   73   74   75   76   77   78   79   80   81   82