Meranie taktovacej frekvencie procesora

Zdrojový kód


3      5b00            *s
4      5b00            ;==============================================================;
5      5b00            ;== Verzia 04 == Merac hodin ====== 23.12.1989 Busy software ==;
6      5b00            ;==============================================================;
7      5b00                   org  #80ff               Maze celych 32k !!!
8      80ff b711       add    dw   #11b7
9      8101 216881     p      ld   hl,run
10     8104 116981            ld   de,run+1
11     8107 010080            ld   bc,#8000
12     810a 71                ld   (hl),c
13     810b edb0              ldir
14     810d 31f080     pp     ld   sp,#80f0
15     8110 3e16              ld   a,22
16     8112 d7                rst  #10
17     8113 3e0a              ld   a,10
18     8115 d7                rst  #10
19     8116 3e0a              ld   a,10
20     8118 d7                rst  #10
21     8119 216081            ld   hl,rut1
22     811c 22ff80            ld   (add),hl
23     811f 3ec9              ld   a,#c9
24     8121 32ffff            ld   (#ffff),a
25     8124 3e80              ld   a,#80
26     8126 ed47              ld   i,a
27     8128 ed5e              im2
28     812a fb                ei
29     812b 76                hlt
30     812c ed56       nic    im1
31     812e 3e3f              ld   a,'?'
32     8130 d7                rst  #10
33     8131 ed56       end    im1
34     8133 3e06              ld   a,6
35     8135 d7                rst  #10
36     8136 cd541f            call #1f54
37     8139 38d2              jr   c,pp
38     813b fb                ei
39     813c cf                rst  #08
40     813d ff                db   #ff
41     813e             
42     813e f3         rut2   di
43     813f e1                pop  hl
44     8140 115f81            ld   de,run-9
45     8143 ed52              sbc  hl,de
46     8145 44                ld   b,h
47     8146 4d                ld   c,l
48     8147 22045b            ld   (23300),hl
49     814a cd2b2d            call #2d2b
50     814d 3e74              ld   a,#74
51     814f 1151dc            ld   de,#dc51
52     8152 01f599            ld   bc,#99f5
53     8155 cdb22a            call #2ab2
54     8158 ef                rst  #28
55     8159 04                db   #04
56     815a 38                db   #38
57     815b cde32d            call #2de3
58     815e 18d1              jr   end
59     8160             
60     8160 213e81     rut1   ld   hl,rut2             10
61     8163 22ff80            ld   (add),hl            16
62     8166 23                inc  hl                  06
63     8167 fb                ei                       04 = 36 = 9*4
64     8168 00         run    nop
65     8169 00                nop
66     816a            l      =    run-p
67     816a                   end

 add    80ff  *  end    8131  *  l      0067  *  nic    812c  *
 p      8101  *  pp     810d  *  run    8168  *  rut1   8160  *
 rut2   813e  *                                                

Bytes:107  labels:9  errors:0   


Popis
Tato rutinka vypise na akej taktovacej frekvencii prave pracuje mikroprocesor. Princip merania je zalozeny na odmerani kolko prace stihne procesor urobit za jedno prerusenie.

Poznámky
Program je nacasovany pre Spektrum 128k a +2, ale funguje spravne na kazdom Spektre, ktore ma casovy interval medzi preruseniami presne zhodny ako 128k a +2.

Poslal
Busy