2 A: 0x00 HX: 0x0D4B SP: 0x0D4A PC: 0x18E0 Z:1
\r
3 A: 0x00 HX: LUNG/2 SP: 0x0D4A PC: 0x192B Z:1
\r
5 8: 178806 -> 179480 : 674 = 42+79* 8
\r
6 16: 178806 -> 180112 : 1306 = 42+79* 16
\r
7 32: 178806 -> 181376 : 2570 = 42+79* 32
\r
8 64: 178806 -> 183904 : 5098 = 42+79* 64
\r
9 128: 178806 -> 188960 : 10154 = 42+79* 128
\r
10 256: 178806 -> 199072 : 20266 = 42+79* 256
\r
11 511: 178806 -> 219138 : 40332 = 42+79* 511
\r
12 512: 178806 -> 219301 : 40495 < 42+79* 512 = 40490
\r
13 514: 178806 -> 219459 : 40653 < 42+79* 514 = 40648
\r
14 1024: 178806 -> 259754 : 80948 > 42+79*1024 = 80938
\r
16 ottima definizione esatta del tempo di esecuzione!
\r
18 T(n)=42+79*n+5*(n/512) oppure T(n)=42+79*n+5*(n>>9)
\r
20 dati 0x100-> 3072 byte
\r
22 **********************************************
\r
24 static unsigned char dati[3072]={...};
\r
26 void swap(unsigned char *a, unsigned char *b)
\r
27 { unsigned char tmp=*a; *a=*b; *b=tmp; return; }
\r
48 unsigned int pos=0,limit=0;
\r
50 for(limit=3072;pos<(limit/2);pos++)
\r
51 { swap(&dati[pos],&dati[limit-pos-1]); }
\r
55 18E6 20 32 BRA *+52 ; 191A
\r
82 190F AD AD BSR *-81 ; 18BE
\r
86 1916 26 02 BNE *+4 ; 191A
\r
99 1929 22 BD BHI *-65 ; 18E8
\r