Subversion Repositories Kolibri OS

Rev

Rev 318 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
318 heavyiron 1
; Decoding cache L1,L2,L3 for Intel
2
 
532 diamond 3
decodecache32:
4
call decodecache
318 heavyiron 5
 
532 diamond 6
decodecache24:
7
shr eax, 8
8
call decodecache
9
shr eax, 8
10
call decodecache
11
shr eax, 8
12
 
318 heavyiron 13
decodecache:
14
 
15
comp0:
16
cmp al, 00h
17
je L000
18
 
19
;-------L2
20
 
21
comp1:
22
cmp al, 41h
23
je kk1
24
 
25
 
26
comp2:
27
cmp al, 42h
28
je kk2
29
 
30
 
31
comp3:
32
cmp al, 43h
33
je kk3
34
 
35
 
36
comp4:
37
cmp al, 44h
38
je kk4
39
 
40
 
41
comp5:
42
cmp al, 45h
43
je kk5
44
 
45
 
46
;------------L1 inst
47
comp6:
48
cmp al, 06h
49
je kk6
50
 
51
comp7:
52
cmp al, 08h
53
je kk7
54
 
55
comp8:
56
cmp al, 15h
57
je kk8
58
 
59
 
60
comp9:
61
cmp al, 77h
62
je kk9
63
 
64
 
65
comp10:
66
cmp al, 30h
67
je kk10
68
 
69
;---------------L1 data
70
comp11:
71
cmp al, 0Ah
72
je kk11
73
 
74
comp12:
75
cmp al, 66h
76
je kk12
77
 
78
comp13:
79
cmp al, 0Ch
80
je kk13
81
 
82
comp14:
83
cmp al, 10h
84
je kk14
85
 
86
comp15:
87
cmp al, 67h
88
je kk15
89
 
90
comp16:
91
cmp al, 2Ch
92
je kk16
93
 
94
comp17:
95
cmp al, 68h
96
je kk17
97
 
98
;-------L2
99
comp18:
100
cmp al, 39h
101
je kk18
102
 
103
comp19:
104
cmp al, 3Bh
105
je kk19
106
 
107
comp20:
108
cmp al, 79h
109
je kk20
110
 
111
comp21:
112
cmp al, 81h
113
je kk21
114
 
115
comp22:
116
cmp al, 3Ch
117
je kk22
118
 
119
comp23:
120
cmp al, 7Ah
121
je kk23
122
 
123
comp24:
124
cmp al, 7Eh
125
je kk24
126
 
127
comp25:
128
cmp al, 82h
129
je kk25
130
 
131
comp26:
132
cmp al, 7Bh
133
je kk26
134
 
135
comp27:
136
cmp al, 83h
137
je kk27
138
 
139
comp28:
140
cmp al, 86h
141
je kk28
142
 
143
comp29:
144
cmp al, 7Ch
145
je kk29
146
 
147
comp30:
148
cmp al, 84h
149
je kk30
150
 
151
comp31:
152
cmp al, 87h
153
je kk31
154
 
155
comp32:
156
cmp al, 85h
157
je kk32
158
 
159
;-----L1 Trace instr
160
 
161
comp33:
162
cmp al, 70h
163
je kk33
164
 
165
comp34:
166
cmp al, 71h
167
je kk34
168
 
169
comp35:
170
cmp al, 72h
171
je kk35
172
 
173
;----New codes
174
 
175
comp36:
176
cmp al, 60h
177
je kk36
178
 
179
comp37:
180
cmp al, 78h
181
je kk37
182
 
183
comp38:
184
cmp al, 7Dh
185
je kk38
186
 
187
;---- L3
188
comp39:
189
cmp al, 22h
190
je kk39
191
 
192
comp40:
193
cmp al, 23h
194
je kk40
195
 
196
comp41:
197
cmp al, 25h
198
je kk41
199
 
200
comp42:
201
cmp al, 29h
202
je kk42
203
 
204
comp43:
205
cmp al, 88h
206
je kk43
207
 
208
comp44:
209
cmp al, 89h
210
je kk44
211
 
212
comp45:
213
cmp al, 8Ah
214
je kk45
215
 
216
comp46:
217
cmp al, 8Dh
218
je kk46
219
 
220
;============= v. 2.04
221
comp47:
222
cmp al, 73h
223
je kk47
224
 
225
comp48:
226
cmp al, 1Ah
227
je kk48
228
 
229
comp49:
230
cmp al, 3Ah
231
je kk49
232
 
233
comp50:
234
cmp al, 3Dh
235
je kk50
236
 
237
comp51:
238
cmp al, 3Eh
239
je kk51
240
 
241
comp52:
242
cmp al, 7Fh
243
je kk52
244
 
245
comp53:
246
cmp al, 46h
247
je kk53
248
 
249
comp54:
250
cmp al, 47h
251
je kk54
252
 
253
comp55:
254
cmp al, 49h
255
je kk55
256
 
257
comp56:
258
cmp al, 4Ah
259
je kk56
260
 
261
comp57:
262
cmp al, 4Bh
263
je kk57
264
 
265
comp58:
266
cmp al, 4Ch
267
je kk58
268
 
269
comp59:
270
cmp al, 4Dh
271
je kk59
272
 
532 diamond 273
ret
318 heavyiron 274
;------------------
275
 
276
kk1:
277
mov [wayl2], 4
278
mov [linel2], 32
279
jmp L128
280
 
281
kk2:
282
mov [wayl2], 4
283
mov [linel2], 32
284
jmp L256
285
 
286
kk3:
287
mov [wayl2], 4
288
mov [linel2], 32
289
jmp L512
290
 
291
kk4:
292
mov [wayl2], 4
293
mov [linel2], 32
294
jmp L1024
295
 
296
kk5:
297
mov [wayl2], 4
298
mov [linel2], 32
299
jmp L2048
300
;;;;;;;;;;;;;;;;;
301
kk6:
302
mov [wayli], 4
303
mov [lineli], 32
304
jmp Li8
305
 
306
kk7:
307
mov [wayli], 4
308
mov [lineli], 32
309
jmp Li16
310
 
311
kk8:
312
mov [wayli], 4
313
mov [lineli], 32
314
jmp Li16
315
 
316
kk9:
317
mov [wayli], 4
318
mov [lineli], 64
319
jmp Li16
320
 
321
kk10:
322
mov [wayli], 8
323
mov [lineli], 64
324
jmp Li32
325
;;;;;;;;;;;;;;;;;;;
326
 
327
;---------------L1 data
328
kk11:
329
mov [wayld], 2
330
mov [lineld], 32
331
jmp Ld8
332
 
333
kk12:
334
mov [wayld], 4
335
mov [lineld], 64
336
jmp Ld8
337
 
338
kk13:
339
mov [wayld], 4
340
mov [lineld], 32
341
jmp Ld16
342
 
343
kk14:
344
mov [wayld], 4
345
mov [lineld], 32
346
jmp Ld16
347
 
348
kk15:
349
mov [wayld], 4
350
mov [lineld], 64
351
jmp Ld16
352
 
353
kk16:
354
mov [wayld], 8
355
mov [lineld], 64
356
jmp Ld32
357
 
358
kk17:
359
mov [wayld], 4
360
mov [lineld], 64
361
jmp Ld32
362
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
363
kk18:
364
mov [wayl2], 4
365
mov [linel2], 64
366
jmp L128
367
 
368
kk19:
369
mov [wayl2], 2
370
mov [linel2], 64
371
jmp L128
372
 
373
kk20:
374
mov [wayl2], 8
375
mov [linel2], 64
376
jmp L128
377
 
378
kk21:
379
mov [wayl2], 8
380
mov [linel2], 32
381
jmp L128
382
 
383
kk22:
384
mov [wayl2], 4
385
mov [linel2], 64
386
jmp L256
387
 
388
kk23:
389
mov [wayl2], 8
390
mov [linel2], 64
391
jmp L256
392
 
393
kk24:
394
mov [wayl2], 8
395
mov [linel2], 128
396
jmp L256
397
 
398
kk25:
399
mov [wayl2], 4
400
mov [linel2], 32
401
jmp L256
402
 
403
kk26:
404
mov [wayl2], 8
405
mov [linel2], 64
406
jmp L512
407
 
408
kk27:
409
mov [wayl2], 8
410
mov [linel2], 32
411
jmp L512
412
 
413
kk28:
414
mov [wayl2], 4
415
mov [linel2], 64
416
jmp L512
417
 
418
kk29:
419
mov [wayl2], 8
420
mov [linel2], 64
421
jmp L1024
422
 
423
kk30:
424
mov [wayl2], 8
425
mov [linel2], 32
426
jmp L1024
427
 
428
kk31:
429
mov [wayl2], 8
430
mov [linel2], 64
431
jmp L1024
432
 
433
kk32:
434
mov [wayl2], 8
435
mov [linel2], 32
436
jmp L2048
437
;;;;;;;;;;;;;;;;;;;;;;;;;
438
kk33:
439
mov [wayli], 8
440
;mov [lineli], 32
441
jmp Li12
442
 
443
kk34:
444
mov [wayli], 8
445
;mov [lineli], 32
446
jmp Li16
447
 
448
kk35:
449
mov [wayli], 8
450
;mov [lineli], 32
451
jmp Li32
452
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
453
kk36:
454
mov [wayld], 8
455
mov [lineld], 64
456
jmp Ld16
457
 
458
kk37:
459
mov [wayl2], 4
460
mov [linel2], 64
461
jmp L1024
462
 
463
kk38:
464
mov [wayl2], 8
465
mov [linel2], 64
466
jmp L2048
467
;;;;;;;;;;;;;;;;;;;;;;;;;
468
kk39:
469
mov [wayl3], 4
470
mov [linel3], 64
471
jmp L305
472
 
473
kk40:
474
mov [wayl3], 8
475
mov [linel3], 64
476
jmp L31
477
 
478
kk41:
479
mov [wayl3], 8
480
mov [linel3], 64
481
jmp L32
482
 
483
kk42:
484
mov [wayl3], 8
485
mov [linel3], 64
486
jmp  L34
487
 
488
kk43:
489
mov [wayl3], 4
490
mov [linel3], 64
491
jmp L32
492
 
493
kk44:
494
mov [wayl3], 4
495
mov [linel3], 64
496
jmp L34
497
 
498
kk45:
499
mov [wayl3], 4
500
mov [linel3], 64
501
jmp L38
502
 
503
kk46:
504
mov [wayl3], 12
505
mov [linel3], 128
506
jmp L33
507
;;;;;;;;;;;;;;;;;;;;;;
508
kk47:
509
mov [wayli], 8
510
;mov [lineli], 32
511
jmp Li64
512
 
513
kk48:
514
mov [wayl2], 6
515
mov [linel2], 64
516
jmp L96
517
 
518
kk49:
519
mov [wayl2], 6
520
mov [linel2], 64
521
jmp L192
522
 
523
kk50:
524
mov [wayl2], 6
525
mov [linel2], 64
526
jmp L384
527
 
528
kk51:
529
mov [wayl2], 4
530
mov [linel2], 64
531
jmp L512
532
 
533
kk52:
534
mov [wayl2], 2
535
mov [linel2], 64
536
jmp L512
537
 
538
kk53:
539
mov [wayl3], 4
540
mov [linel3], 64
541
jmp L34
542
 
543
kk54:
544
mov [wayl3], 8
545
mov [linel3], 64
546
jmp L38
547
 
548
kk55:
549
mov [wayl3], 16
550
mov [linel3], 64
551
jmp L34
552
 
553
kk56:
554
mov [wayl3], 12
555
mov [linel3], 64
556
jmp L36
557
 
558
kk57:
559
mov [wayl3], 16
560
mov [linel3], 64
561
jmp L38
562
 
563
kk58:
564
mov [wayl3], 12
565
mov [linel3], 64
566
jmp L312
567
 
568
kk59:
569
mov [wayl3], 16
570
mov [linel3], 64
571
jmp L316
572
;------------------
573
Li8:
574
mov [L1i], 8
575
jmp L000
576
 
577
Li12:
578
mov [L1i], 12
579
jmp L000
580
 
581
Li16:
582
mov [L1i], 16
583
jmp L000
584
 
585
Li32:
586
mov [L1i], 32
587
jmp L000
588
 
589
Li64:
590
mov [L1i], 64
591
jmp L000
592
 
593
Ld8:
594
mov [L1d], 8
595
jmp L000
596
 
597
Ld16:
598
mov [L1d], 16
599
jmp L000
600
 
601
Ld32:
602
mov [L1d], 32
603
jmp L000
604
 
605
L96:
606
mov [L2], 96
607
jmp L000
608
 
609
L128:
610
mov [L2], 128
611
jmp L000
612
 
613
L192:
614
mov [L2], 192
615
jmp L000
616
 
617
L256:
618
mov [L2], 256
619
jmp L000
620
 
621
L384:
622
mov [L2], 384
623
jmp L000
624
 
625
L512:
626
mov [L2], 512
627
jmp L000
628
 
629
L1024:
630
mov [L2], 1024
631
jmp L000
632
 
633
L2048:
634
mov [L2], 2048
635
jmp L000
636
 
637
L305:
638
mov [L3], 512
639
jmp L000
640
 
641
L31:
642
mov [L3], 1024
643
jmp L000
644
 
645
L32:
646
mov [L3], 2048
647
jmp L000
648
 
649
L33:
650
mov [L3], 3072
651
jmp L000
652
 
653
L34:
654
mov [L3], 4096
655
jmp L000
656
 
657
L36:
658
mov [L3], 6144
659
jmp L000
660
 
661
L38:
662
mov [L3], 8192
663
jmp L000
664
 
665
L312:
666
mov [L3], 12288
667
jmp L000
668
 
669
L316:
670
mov [L3], 16384
532 diamond 671
;jmp L000
318 heavyiron 672
 
673
 
674
 
675
L000:
532 diamond 676
ret