1one_seconde: ; usage of registers A,B,DE 2 ; return from a call of this routine last exactly 1 second 3speed EQU 2500 ; clock frequency in kHz (min. 2 kHz) 4 LD DE, speed ; 10 T 5 DEC DE ; 6 T 6back: ; 7+13*x-5 + 10 + 26 = 1000 7 LD B,74 ; 7 T 8loop1: DJNZ loop1 ; 13 T 9 ; waste 10 ticks 10 DEC BC ; 6 T 11 INC C ; 4 T 12 DEC DE ; 6 T 13 LD A,E ; 4 T 14 OR D ; 4 T 15 JR NZ,back ; 12 T 16 ; 16-5+7+74*13-5+10+10= 1000 T 17 LD B,74 ; 7 T 18loop2: DJNZ loop2 ; 13 T 19 ; waste 15 ticks 20 NEG ; 8 T 21 LD A,0 ; 7 T 22 RET ; 10 T 23