blob: 5a793f17e3c28ad660ae4d3c41287cd6f56aeca4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
movlw n 1 +
call dottime 2 |
---------------- |
dottime |
movwf DOTCNT1 1 |
dot_outer |
movlw m 1 + |
movwf DOTCNT0 1 | |
dot_inner + | |
x * nop x | y | z | t
decfsz DOTCNT0,f 1 (2) | | |
goto dot_inner 2 + | |
decfsz DOTCNT1,f 1 (2) | |
goto dot_outer 2 + |
return 2 +
y = (x + 1 + 2) * m - 1 = xm + 3m - 1
z = (1 + 1 + y + 1 + 2) * n - 1 = (4 + xm + 3m) * n - 1 = 4n + 3mn + xmn - 1
t = 1 + 2 + 1 + z + 2 = 5 + 4n + 3mn + xmn
= ==================
@ n = m = 256 (0): tmax = 197637 + 65536x �s
@ n = m = 1: tmin = 12 + x �s
for x=0: tmin = 12, tmax = 197637
x=1: tmin = 13, tmax = 263173
x=2: tmin = 14, tmax = 328709
x=3: tmin = 15, tmax = 394245
x=4: tmin = 16, tmax = 459781
x=5: tmin = 17, tmax = 525317
x=6: tmin = 18, tmax = 590853
x=7: tmin = 19, tmax = 656389
m(dot) = m(dot) = 36
m(dash) = 3*m(dot) = 108
m(element space) = m(dot) = 36
m(character space) = 3*m(dot) = 108
m(word space) = 7*m(dot) = 252
@ m = 36; tmax = 5 + 112n + 36xn
@ m = 108: tmax = 5 + 328n + 108xn
@ m = 252: tmax = 5 + 760n + 252xn
n => CWSPEED
x => nop count
|