Page 62 -
P. 62
; 00H ;規避 00H 至 2FH 間之中斷向量執行位址
ORG START ;
JMP 30H ;將堆疊指標重新指向
ORG SP,#30H
MOV A,#00 ;輸出資料至埠 3
P3,A ;呼叫 0.2 秒延遲副程式
START: MOV DELAY ;輸出資料至埠 2
MOV P2,A ;呼叫 0.2 秒延遲副程式
CALL DELAY ;輸出資料至埠 1
MOV P1,A ;呼叫 0.2 秒延遲副程式
CALL DELAY ;輸出資料至埠 0
MOV P0,A ;呼叫 0.2 秒延遲副程式
CALL DELAY ;載入資料 DAT 之位址至資料指標暫存器 DPTR 中
MOV DPTR,#DAT
CALL A,#0 ;載入 DPTR 所指位址之資料至累積器 A 中
A,@A+DPTR ;輸出資料至埠 0
LOOP: MOV P0,A ;呼叫 0.2 秒延遲副程式
RT0: MOV DELAY ;將 DPTR 加 1, 即用於指向下一筆資料
DPTR ;比較 A 是否為值 FFH, 若否則跳回 RT0 重新執行
MOVC A,#FFH,RT0
MOV A,#0 ;載入 DPTR 所指位址之資料至累積器 A 中
CALL A,@A+DPTR
INC P1,A ;載入 DPTR 所指位址之資料至累積器 A 中
CJNE DELAY
RT1: MOV DPTR ;載入 DPTR 所指位址之資料至累積器 A 中
MOVC A,#FFH,RT1
MOV A,#0
CALL A,@A+DPTR
INC P2,A
CJNE DELAY
RT2: MOV DPTR
MOVC A,#FFH,RT2
MOV A,#0
CALL A,@A+DPTR
INC P3,A
CJNE DELAY
RT3: MOV DPTR
MOVC
MOV
CALL
INC