LINUX.ORG.RU

История изменений

Исправление mittorn, (текущая версия) :

Dump of assembler code for function CBaseEntity::SetObjectCollisionBox():
   0xf706e8f0 <+0>:     call   0xf7056d5e <__x86.get_pc_thunk.dx>
   0xf706e8f5 <+5>:     add    $0x16421f,%edx
   0xf706e8fb <+11>:    mov    0x4(%esp),%eax
   0xf706e8ff <+15>:    mov    0x4(%eax),%ecx
   0xf706e902 <+18>:    cmpl   $0x4,0x10c(%ecx)
   0xf706e909 <+25>:    je     0xf706e9b0 <CBaseEntity::SetObjectCollisionBox()+192>
   0xf706e90f <+31>:    movss  0x10(%ecx),%xmm0
   0xf706e914 <+36>:    movss  0xc(%ecx),%xmm1
   0xf706e919 <+41>:    movss  0x8(%ecx),%xmm2
   0xf706e91e <+46>:    movss  0xe4(%ecx),%xmm4
   0xf706e926 <+54>:    movss  0xe0(%ecx),%xmm5
   0xf706e92e <+62>:    movss  0xdc(%ecx),%xmm6
   0xf706e936 <+70>:    addss  %xmm0,%xmm4
   0xf706e93a <+74>:    addss  %xmm1,%xmm5
   0xf706e93e <+78>:    addss  %xmm2,%xmm6
   0xf706e942 <+82>:    addss  0xf0(%ecx),%xmm0
   0xf706e94a <+90>:    addss  0xec(%ecx),%xmm1
   0xf706e952 <+98>:    addss  0xe8(%ecx),%xmm2
   0xf706e95a <+106>:   movss  -0x82ed4(%edx),%xmm3
   0xf706e962 <+114>:   subss  %xmm3,%xmm6
   0xf706e966 <+118>:   subss  %xmm3,%xmm5
   0xf706e96a <+122>:   subss  %xmm3,%xmm4
   0xf706e96e <+126>:   addss  %xmm3,%xmm2
   0xf706e972 <+130>:   movss  %xmm6,0xc4(%ecx)
   0xf706e97a <+138>:   addss  %xmm3,%xmm1
   0xf706e97e <+142>:   movss  %xmm5,0xc8(%ecx)
   0xf706e986 <+150>:   addss  %xmm3,%xmm0
   0xf706e98a <+154>:   movss  %xmm4,0xcc(%ecx)
   0xf706e992 <+162>:   movss  %xmm2,0xd0(%ecx)
   0xf706e99a <+170>:   movss  %xmm1,0xd4(%ecx)


Dump of assembler code for function DispatchObjectCollsionBox(edict_s*):
   0xf706eaa0 <+0>:     call   0xf7056d5e <__x86.get_pc_thunk.dx>
   0xf706eaa5 <+5>:     add    $0x16406f,%edx
   0xf706eaab <+11>:    push   %ebx
   0xf706eaac <+12>:    mov    0x8(%esp),%eax
   0xf706eab0 <+16>:    test   %eax,%eax
   0xf706eab2 <+18>:    je     0xf706eb88 <DispatchObjectCollsionBox(edict_s*)+232>
   0xf706eab8 <+24>:    mov    0x7c(%eax),%ecx
   0xf706eabb <+27>:    test   %ecx,%ecx
   0xf706eabd <+29>:    je     0xf706eb88 <DispatchObjectCollsionBox(edict_s*)+232>
   0xf706eac3 <+35>:    mov    (%ecx),%ebx
=> 0xf706eac5 <+37>:    mov    0x1c(%ebx),%eax
   0xf706eac8 <+40>:    lea    -0x164224(%edx),%ebx
   0xf706eace <+46>:    cmp    %ebx,%eax
   0xf706ead0 <+48>:    jne    0xf706ee40 <DispatchObjectCollsionBox(edict_s*)+928>
   0xf706ead6 <+54>:    mov    0x4(%ecx),%ecx
   0xf706ead9 <+57>:    cmpl   $0x4,0x10c(%ecx)
   0xf706eae0 <+64>:    je     0xf706ec40 <DispatchObjectCollsionBox(edict_s*)+416>
   0xf706eae6 <+70>:    movss  0x10(%ecx),%xmm0
   0xf706eaeb <+75>:    movss  0xc(%ecx),%xmm1
   0xf706eaf0 <+80>:    movss  0x8(%ecx),%xmm2
   0xf706eaf5 <+85>:    movss  0xe4(%ecx),%xmm7
   0xf706eafd <+93>:    movss  0xe0(%ecx),%xmm5
   0xf706eb05 <+101>:   movss  0xdc(%ecx),%xmm6
   0xf706eb0d <+109>:   addss  %xmm0,%xmm7
   0xf706eb11 <+113>:   addss  %xmm1,%xmm5
   0xf706eb15 <+117>:   addss  %xmm2,%xmm6
   0xf706eb19 <+121>:   addss  0xf0(%ecx),%xmm0
   0xf706eb21 <+129>:   addss  0xec(%ecx),%xmm1
   0xf706eb29 <+137>:   addss  0xe8(%ecx),%xmm2
   0xf706eb31 <+145>:   movss  -0x82ed4(%edx),%xmm4

Исходная версия mittorn, :

Dump of assembler code for function CBaseEntity::SetObjectCollisionBox():
   0xf706e8f0 <+0>:     call   0xf7056d5e <__x86.get_pc_thunk.dx>
   0xf706e8f5 <+5>:     add    $0x16421f,%edx
   0xf706e8fb <+11>:    mov    0x4(%esp),%eax
   0xf706e8ff <+15>:    mov    0x4(%eax),%ecx
   0xf706e902 <+18>:    cmpl   $0x4,0x10c(%ecx)
   0xf706e909 <+25>:    je     0xf706e9b0 <CBaseEntity::SetObjectCollisionBox()+192>
   0xf706e90f <+31>:    movss  0x10(%ecx),%xmm0
   0xf706e914 <+36>:    movss  0xc(%ecx),%xmm1
   0xf706e919 <+41>:    movss  0x8(%ecx),%xmm2
   0xf706e91e <+46>:    movss  0xe4(%ecx),%xmm4
   0xf706e926 <+54>:    movss  0xe0(%ecx),%xmm5
   0xf706e92e <+62>:    movss  0xdc(%ecx),%xmm6
   0xf706e936 <+70>:    addss  %xmm0,%xmm4
   0xf706e93a <+74>:    addss  %xmm1,%xmm5
   0xf706e93e <+78>:    addss  %xmm2,%xmm6
   0xf706e942 <+82>:    addss  0xf0(%ecx),%xmm0
   0xf706e94a <+90>:    addss  0xec(%ecx),%xmm1
   0xf706e952 <+98>:    addss  0xe8(%ecx),%xmm2
   0xf706e95a <+106>:   movss  -0x82ed4(%edx),%xmm3
   0xf706e962 <+114>:   subss  %xmm3,%xmm6
   0xf706e966 <+118>:   subss  %xmm3,%xmm5
   0xf706e96a <+122>:   subss  %xmm3,%xmm4
   0xf706e96e <+126>:   addss  %xmm3,%xmm2
   0xf706e972 <+130>:   movss  %xmm6,0xc4(%ecx)
   0xf706e97a <+138>:   addss  %xmm3,%xmm1
   0xf706e97e <+142>:   movss  %xmm5,0xc8(%ecx)
   0xf706e986 <+150>:   addss  %xmm3,%xmm0
   0xf706e98a <+154>:   movss  %xmm4,0xcc(%ecx)
   0xf706e992 <+162>:   movss  %xmm2,0xd0(%ecx)
   0xf706e99a <+170>:   movss  %xmm1,0xd4(%ecx)


Dump of assembler code for function DispatchObjectCollsionBox(edict_s*):
   0xf706eaa0 <+0>:     call   0xf7056d5e <__x86.get_pc_thunk.dx>
   0xf706eaa5 <+5>:     add    $0x16406f,%edx
   0xf706eaab <+11>:    push   %ebx
   0xf706eaac <+12>:    mov    0x8(%esp),%eax
   0xf706eab0 <+16>:    test   %eax,%eax
   0xf706eab2 <+18>:    je     0xf706eb88 <DispatchObjectCollsionBox(edict_s*)+232>
   0xf706eab8 <+24>:    mov    0x7c(%eax),%ecx
   0xf706eabb <+27>:    test   %ecx,%ecx
   0xf706eabd <+29>:    je     0xf706eb88 <DispatchObjectCollsionBox(edict_s*)+232>
   0xf706eac3 <+35>:    mov    (%ecx),%ebx
=> 0xf706eac5 <+37>:    mov    0x1c(%ebx),%eax
   0xf706eac8 <+40>:    lea    -0x164224(%edx),%ebx
   0xf706eace <+46>:    cmp    %ebx,%eax
   0xf706ead0 <+48>:    jne    0xf706ee40 <DispatchObjectCollsionBox(edict_s*)+928>
   0xf706ead6 <+54>:    mov    0x4(%ecx),%ecx
   0xf706ead9 <+57>:    cmpl   $0x4,0x10c(%ecx)
   0xf706eae0 <+64>:    je     0xf706ec40 <DispatchObjectCollsionBox(edict_s*)+416>
   0xf706eae6 <+70>:    movss  0x10(%ecx),%xmm0
   0xf706eaeb <+75>:    movss  0xc(%ecx),%xmm1
   0xf706eaf0 <+80>:    movss  0x8(%ecx),%xmm2
   0xf706eaf5 <+85>:    movss  0xe4(%ecx),%xmm7
   0xf706eafd <+93>:    movss  0xe0(%ecx),%xmm5
   0xf706eb05 <+101>:   movss  0xdc(%ecx),%xmm6
   0xf706eb0d <+109>:   addss  %xmm0,%xmm7
   0xf706eb11 <+113>:   addss  %xmm1,%xmm5
   0xf706eb15 <+117>:   addss  %xmm2,%xmm6
   0xf706eb19 <+121>:   addss  0xf0(%ecx),%xmm0
   0xf706eb21 <+129>:   addss  0xec(%ecx),%xmm1
   0xf706eb29 <+137>:   addss  0xe8(%ecx),%xmm2
   0xf706eb31 <+145>:   movss  -0x82ed4(%edx),%xmm4