Maxim Integrated Secure Microcontroller User Manual
Page 173
Secure Microcontroller User’s Guide
173 of 187
MOV
DPTR,
#TEXT2
LCALL
TEXT_OUT
MOV
R0,
#4
LCALL
RBYTE
; Read the hour.
DEC
R0
LCALL
HEX_OUT
; Display the hour.
MOV
A,
#’:’
LCALL
CHAR_OUT
LCALL
RBYTE
; Read the minute.
LCALL
HEX_OUT
; Display the minute.
MOV
A,
#’:’
LCALL
CHAR_OUT
LCALL
RBYTE
; Read the second.
LCALL
HEX_OUT
; Display the second.
MOV
A,
#’.’
LCALL
CHAR_OUT
LCALL
RBYTE
; Read fraction of second.
LCALL
HEX_OUT
; Display fraction of second.
MOV
DPTR,
#TEXT3
LCALL
TEXT_OUT
MOV
A,
#80H
MOV
R0,
#11
LCALL
WBYTE
; Unfreeze the registers.
;
SJMP
CONTINUE
; Repeat indefinitely.
;
;Utilities
HEX_IN:
MOV
B,
#0
HEX_LP:
LCALL
CHAR_IN
LCALL
CHAR_OUT
CJNE
A, #0DH,
NOT_CR
MOV
A,
B
RET
NOT_CR:
ADD
A,
#–30H
JNC
HEX_LP
CJNE
A, #10,
$+3
JC
HEX_XX
ADD
A,
#–7
CJNE
A, #10,
$+3
JC
HEX_LP
CJNE
A, #16,
$+3
JNC
HEX_LP
HEX_XX:
XCH
A,
B
ANL
A,
#0FH
SWAP
A
ORL
A,
B
MOV
B,
A
SJMP
HEX_LP
;
HEX_OUT:
MOV
B,
#2
OUT_LP:
SWAP
A
PUSH
ACC
ANL
A,
#0FH
CJNE
A,
#10, $+3
JC
HEX_OK