Subversion Repositories Kolibri OS

Rev

Rev 318 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ; Decoding cache L1,L2,L3 for Intel
  2.  
  3. decodecache32:
  4. call decodecache
  5.  
  6. decodecache24:
  7. shr eax, 8
  8. call decodecache
  9. shr eax, 8
  10. call decodecache
  11. shr eax, 8
  12.  
  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.  
  273. ret
  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
  671. ;jmp L000
  672.  
  673.  
  674.  
  675. L000:
  676. ret
  677.