Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

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