Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  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