; Decoding cache L1,L2,L3 for Intel decodecache32: call decodecache decodecache24: shr eax, 8 call decodecache shr eax, 8 call decodecache shr eax, 8 decodecache: comp0: cmp al, 00h je L000 ;-------L2 comp1: cmp al, 41h je kk1 comp2: cmp al, 42h je kk2 comp3: cmp al, 43h je kk3 comp4: cmp al, 44h je kk4 comp5: cmp al, 45h je kk5 ;------------L1 inst comp6: cmp al, 06h je kk6 comp7: cmp al, 08h je kk7 comp8: cmp al, 15h je kk8 comp9: cmp al, 77h je kk9 comp10: cmp al, 30h je kk10 ;---------------L1 data comp11: cmp al, 0Ah je kk11 comp12: cmp al, 66h je kk12 comp13: cmp al, 0Ch je kk13 comp14: cmp al, 10h je kk14 comp15: cmp al, 67h je kk15 comp16: cmp al, 2Ch je kk16 comp17: cmp al, 68h je kk17 ;-------L2 comp18: cmp al, 39h je kk18 comp19: cmp al, 3Bh je kk19 comp20: cmp al, 79h je kk20 comp21: cmp al, 81h je kk21 comp22: cmp al, 3Ch je kk22 comp23: cmp al, 7Ah je kk23 comp24: cmp al, 7Eh je kk24 comp25: cmp al, 82h je kk25 comp26: cmp al, 7Bh je kk26 comp27: cmp al, 83h je kk27 comp28: cmp al, 86h je kk28 comp29: cmp al, 7Ch je kk29 comp30: cmp al, 84h je kk30 comp31: cmp al, 87h je kk31 comp32: cmp al, 85h je kk32 ;-----L1 Trace instr comp33: cmp al, 70h je kk33 comp34: cmp al, 71h je kk34 comp35: cmp al, 72h je kk35 ;----New codes comp36: cmp al, 60h je kk36 comp37: cmp al, 78h je kk37 comp38: cmp al, 7Dh je kk38 ;---- L3 comp39: cmp al, 22h je kk39 comp40: cmp al, 23h je kk40 comp41: cmp al, 25h je kk41 comp42: cmp al, 29h je kk42 comp43: cmp al, 88h je kk43 comp44: cmp al, 89h je kk44 comp45: cmp al, 8Ah je kk45 comp46: cmp al, 8Dh je kk46 ;============= v. 2.04 comp47: cmp al, 73h je kk47 comp48: cmp al, 1Ah je kk48 comp49: cmp al, 3Ah je kk49 comp50: cmp al, 3Dh je kk50 comp51: cmp al, 3Eh je kk51 comp52: cmp al, 7Fh je kk52 comp53: cmp al, 46h je kk53 comp54: cmp al, 47h je kk54 comp55: cmp al, 49h je kk55 comp56: cmp al, 4Ah je kk56 comp57: cmp al, 4Bh je kk57 comp58: cmp al, 4Ch je kk58 comp59: cmp al, 4Dh je kk59 ret ;------------------ kk1: mov [wayl2], 4 mov [linel2], 32 jmp L128 kk2: mov [wayl2], 4 mov [linel2], 32 jmp L256 kk3: mov [wayl2], 4 mov [linel2], 32 jmp L512 kk4: mov [wayl2], 4 mov [linel2], 32 jmp L1024 kk5: mov [wayl2], 4 mov [linel2], 32 jmp L2048 ;;;;;;;;;;;;;;;;; kk6: mov [wayli], 4 mov [lineli], 32 jmp Li8 kk7: mov [wayli], 4 mov [lineli], 32 jmp Li16 kk8: mov [wayli], 4 mov [lineli], 32 jmp Li16 kk9: mov [wayli], 4 mov [lineli], 64 jmp Li16 kk10: mov [wayli], 8 mov [lineli], 64 jmp Li32 ;;;;;;;;;;;;;;;;;;; ;---------------L1 data kk11: mov [wayld], 2 mov [lineld], 32 jmp Ld8 kk12: mov [wayld], 4 mov [lineld], 64 jmp Ld8 kk13: mov [wayld], 4 mov [lineld], 32 jmp Ld16 kk14: mov [wayld], 4 mov [lineld], 32 jmp Ld16 kk15: mov [wayld], 4 mov [lineld], 64 jmp Ld16 kk16: mov [wayld], 8 mov [lineld], 64 jmp Ld32 kk17: mov [wayld], 4 mov [lineld], 64 jmp Ld32 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; kk18: mov [wayl2], 4 mov [linel2], 64 jmp L128 kk19: mov [wayl2], 2 mov [linel2], 64 jmp L128 kk20: mov [wayl2], 8 mov [linel2], 64 jmp L128 kk21: mov [wayl2], 8 mov [linel2], 32 jmp L128 kk22: mov [wayl2], 4 mov [linel2], 64 jmp L256 kk23: mov [wayl2], 8 mov [linel2], 64 jmp L256 kk24: mov [wayl2], 8 mov [linel2], 128 jmp L256 kk25: mov [wayl2], 4 mov [linel2], 32 jmp L256 kk26: mov [wayl2], 8 mov [linel2], 64 jmp L512 kk27: mov [wayl2], 8 mov [linel2], 32 jmp L512 kk28: mov [wayl2], 4 mov [linel2], 64 jmp L512 kk29: mov [wayl2], 8 mov [linel2], 64 jmp L1024 kk30: mov [wayl2], 8 mov [linel2], 32 jmp L1024 kk31: mov [wayl2], 8 mov [linel2], 64 jmp L1024 kk32: mov [wayl2], 8 mov [linel2], 32 jmp L2048 ;;;;;;;;;;;;;;;;;;;;;;;;; kk33: mov [wayli], 8 ;mov [lineli], 32 jmp Li12 kk34: mov [wayli], 8 ;mov [lineli], 32 jmp Li16 kk35: mov [wayli], 8 ;mov [lineli], 32 jmp Li32 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; kk36: mov [wayld], 8 mov [lineld], 64 jmp Ld16 kk37: mov [wayl2], 4 mov [linel2], 64 jmp L1024 kk38: mov [wayl2], 8 mov [linel2], 64 jmp L2048 ;;;;;;;;;;;;;;;;;;;;;;;;; kk39: mov [wayl3], 4 mov [linel3], 64 jmp L305 kk40: mov [wayl3], 8 mov [linel3], 64 jmp L31 kk41: mov [wayl3], 8 mov [linel3], 64 jmp L32 kk42: mov [wayl3], 8 mov [linel3], 64 jmp L34 kk43: mov [wayl3], 4 mov [linel3], 64 jmp L32 kk44: mov [wayl3], 4 mov [linel3], 64 jmp L34 kk45: mov [wayl3], 4 mov [linel3], 64 jmp L38 kk46: mov [wayl3], 12 mov [linel3], 128 jmp L33 ;;;;;;;;;;;;;;;;;;;;;; kk47: mov [wayli], 8 ;mov [lineli], 32 jmp Li64 kk48: mov [wayl2], 6 mov [linel2], 64 jmp L96 kk49: mov [wayl2], 6 mov [linel2], 64 jmp L192 kk50: mov [wayl2], 6 mov [linel2], 64 jmp L384 kk51: mov [wayl2], 4 mov [linel2], 64 jmp L512 kk52: mov [wayl2], 2 mov [linel2], 64 jmp L512 kk53: mov [wayl3], 4 mov [linel3], 64 jmp L34 kk54: mov [wayl3], 8 mov [linel3], 64 jmp L38 kk55: mov [wayl3], 16 mov [linel3], 64 jmp L34 kk56: mov [wayl3], 12 mov [linel3], 64 jmp L36 kk57: mov [wayl3], 16 mov [linel3], 64 jmp L38 kk58: mov [wayl3], 12 mov [linel3], 64 jmp L312 kk59: mov [wayl3], 16 mov [linel3], 64 jmp L316 ;------------------ Li8: mov [L1i], 8 jmp L000 Li12: mov [L1i], 12 jmp L000 Li16: mov [L1i], 16 jmp L000 Li32: mov [L1i], 32 jmp L000 Li64: mov [L1i], 64 jmp L000 Ld8: mov [L1d], 8 jmp L000 Ld16: mov [L1d], 16 jmp L000 Ld32: mov [L1d], 32 jmp L000 L96: mov [L2], 96 jmp L000 L128: mov [L2], 128 jmp L000 L192: mov [L2], 192 jmp L000 L256: mov [L2], 256 jmp L000 L384: mov [L2], 384 jmp L000 L512: mov [L2], 512 jmp L000 L1024: mov [L2], 1024 jmp L000 L2048: mov [L2], 2048 jmp L000 L305: mov [L3], 512 jmp L000 L31: mov [L3], 1024 jmp L000 L32: mov [L3], 2048 jmp L000 L33: mov [L3], 3072 jmp L000 L34: mov [L3], 4096 jmp L000 L36: mov [L3], 6144 jmp L000 L38: mov [L3], 8192 jmp L000 L312: mov [L3], 12288 jmp L000 L316: mov [L3], 16384 ;jmp L000 L000: ret