Technical information
TECHNICAL INFORMATION
Assembly-language programmers can use
the
following listing
to
relocate
the
real-time clock code.
ISR
USR
EXI
CLK
SEC
MIN
HOURS
22
7FA8H
7FC1H
VIA BASIC USR(N)
ORG
EQU
;
ENTRY
DI
CALL
XOR
OR
JR
1M
LD
LD
LD
LD
EI
JP
;
REAL
EQU
EQU
EQU
EQU
PUSH
PUSH
LD
BIT
JR
BIT
JR
LD
INC
LD
CP
JR
XOR
LD
INC
INC
LD
CP
JR
XOR
LD
OA7FH
A
L
Z,EXI
1
A,OC3H
(4012H)
,A
HL,ISR
(4013H),HL
OA9AH
TIME
CLOCK
CODE
405EH
405FH
4060H
4061H
HL
AF
A,
(37EOH)
6,A
NZ,FDC
7,A
Z,XIT
HL,CLK
(HL)
A,
(HL)
40
C,XIT
A
(HL)
,A
HL
(HL)
A,
(HL)
60
C,XIT
A
(HL)
,A
SET
TO
ISR
START
ADDR
DISABLE INTERRUPT
GET
(HL)
IS
USR
ARG=O?
IF
YES
THEN
EXIT
ELSE LINK
TO
ISR
PUT
IN
JUMP
TO
ISR
START
ADDR
OF
ISR
ENABLE
INTERRUPT
TICKS
STORED
HERE
SECONDS
HERE
MINUTES
HERE
SAVE
REGISTERS
GET
INTERRUPT STATUS
IF
FDC
MAKING
RQST
EXIT
IF
INVALID INTRPT
HL
=> TICKS
COUNTER
UPDATE
"TICK"
40
TICKS PER
SECOND
IF
NO
CARRY
INTO SECS
RESET TIKCNT
POINT
TO
SECONDS-COUNT
AND
UPDATE
GET
SECONDS
COUNT
DONE
IF
NO
CARRY
TO
HRS
ELSE RESET
SECONDS










