Rev | Line | |
---|
[9] | 1 | .sect .text; .sect .rom; .sect .data; .sect .bss
|
---|
| 2 | .extern .b64_sft
|
---|
| 3 | .sect .text
|
---|
| 4 | .b64_sft:
|
---|
| 5 | push ebp
|
---|
| 6 | mov ebp,esp
|
---|
| 7 | push esi
|
---|
| 8 | push edi
|
---|
| 9 | mov esi,8(ebp)
|
---|
| 10 | mov edi,12(ebp)
|
---|
| 11 | ! kill cc
|
---|
| 12 | test edi,edi
|
---|
| 13 | jle I1_4
|
---|
| 14 | cmp edi,63
|
---|
| 15 | jle I1_7
|
---|
| 16 | mov 4(esi),0
|
---|
| 17 | mov (esi),0
|
---|
| 18 | jmp I1_1
|
---|
| 19 | I1_7:
|
---|
| 20 | cmp edi,32
|
---|
| 21 | jl I1_10
|
---|
| 22 | mov edx,(esi)
|
---|
| 23 | mov 4(esi),edx
|
---|
| 24 | mov (esi),0
|
---|
| 25 | sub edi,32
|
---|
| 26 | I1_10:
|
---|
| 27 | ! kill cc
|
---|
| 28 | test edi,edi
|
---|
| 29 | jle I1_1
|
---|
| 30 | mov ecx,edi
|
---|
| 31 | mov edx,4(esi)
|
---|
| 32 | shr edx,cl
|
---|
| 33 | mov 4(esi),edx
|
---|
| 34 | cmp (esi),0
|
---|
| 35 | je I1_1
|
---|
| 36 | mov edx,32
|
---|
| 37 | sub edx,edi
|
---|
| 38 | mov ecx,edx
|
---|
| 39 | mov edx,(esi)
|
---|
| 40 | sal edx,cl
|
---|
| 41 | or 4(esi),edx
|
---|
| 42 | mov ecx,edi
|
---|
| 43 | mov edx,(esi)
|
---|
| 44 | shr edx,cl
|
---|
| 45 | mov (esi),edx
|
---|
| 46 | jmp I1_1
|
---|
| 47 | I1_4:
|
---|
| 48 | neg edi
|
---|
| 49 | ! kill cc
|
---|
| 50 | test edi,edi
|
---|
| 51 | jle I1_1
|
---|
| 52 | cmp edi,63
|
---|
| 53 | jle I1_22
|
---|
| 54 | mov 4(esi),0
|
---|
| 55 | mov (esi),0
|
---|
| 56 | jmp I1_1
|
---|
| 57 | I1_22:
|
---|
| 58 | cmp edi,32
|
---|
| 59 | jl I1_25
|
---|
| 60 | mov edx,4(esi)
|
---|
| 61 | mov (esi),edx
|
---|
| 62 | mov 4(esi),0
|
---|
| 63 | sub edi,32
|
---|
| 64 | I1_25:
|
---|
| 65 | ! kill cc
|
---|
| 66 | test edi,edi
|
---|
| 67 | jle I1_1
|
---|
| 68 | mov ecx,edi
|
---|
| 69 | mov edx,(esi)
|
---|
| 70 | sal edx,cl
|
---|
| 71 | mov (esi),edx
|
---|
| 72 | cmp 4(esi),0
|
---|
| 73 | je I1_1
|
---|
| 74 | mov edx,32
|
---|
| 75 | sub edx,edi
|
---|
| 76 | mov ecx,edx
|
---|
| 77 | mov edx,4(esi)
|
---|
| 78 | shr edx,cl
|
---|
| 79 | or (esi),edx
|
---|
| 80 | mov ecx,edi
|
---|
| 81 | mov edx,4(esi)
|
---|
| 82 | sal edx,cl
|
---|
| 83 | mov 4(esi),edx
|
---|
| 84 | I1_1:
|
---|
| 85 | pop edi
|
---|
| 86 | pop esi
|
---|
| 87 | leave
|
---|
| 88 | ret
|
---|
| 89 | .extern .b64_lsft
|
---|
| 90 | .b64_lsft:
|
---|
| 91 | push ebp
|
---|
| 92 | mov ebp,esp
|
---|
| 93 | push esi
|
---|
| 94 | mov esi,8(ebp)
|
---|
| 95 | sal (esi),1
|
---|
| 96 | test 4(esi),-2147483648
|
---|
| 97 | je I2_4
|
---|
| 98 | or (esi),1
|
---|
| 99 | I2_4:
|
---|
| 100 | mov edx,4(esi)
|
---|
| 101 | sal edx,1
|
---|
| 102 | mov 4(esi),edx
|
---|
| 103 | pop esi
|
---|
| 104 | leave
|
---|
| 105 | ret
|
---|
| 106 | .extern .b64_rsft
|
---|
| 107 | .b64_rsft:
|
---|
| 108 | push ebp
|
---|
| 109 | mov ebp,esp
|
---|
| 110 | push esi
|
---|
| 111 | mov esi,8(ebp)
|
---|
| 112 | mov edx,4(esi)
|
---|
| 113 | shr edx,1
|
---|
| 114 | mov 4(esi),edx
|
---|
| 115 | mov edx,(esi)
|
---|
| 116 | testb dl,1
|
---|
| 117 | je I3_4
|
---|
| 118 | or 4(esi),-2147483648
|
---|
| 119 | I3_4:
|
---|
| 120 | shr (esi),1
|
---|
| 121 | pop esi
|
---|
| 122 | leave
|
---|
| 123 | ret
|
---|
Note:
See
TracBrowser
for help on using the repository browser.