Annotation of quake2/ref_soft/r_aclipa.asm, revision 1.1.1.1

1.1       root        1:  .386P
                      2:  .model FLAT
                      3: ;
                      4: ; r_aliasa.s
                      5: ; x86 assembly-language Alias model transform and project code.
                      6: ;
                      7: 
                      8: include qasm.inc
                      9: include d_if.inc
                     10: 
                     11: if id386
                     12: 
                     13: _DATA SEGMENT  
                     14: Ltemp0 dd 0    
                     15: Ltemp1 dd 0    
                     16: 
                     17: _DATA ENDS
                     18: _TEXT SEGMENT  
                     19: 
                     20: pfv0           equ             8+4
                     21: pfv1           equ             8+8
                     22: outparm                        equ             8+12
                     23: 
                     24:  public _R_Alias_clip_bottom   
                     25: _R_Alias_clip_bottom:  
                     26:  push esi      
                     27:  push edi      
                     28: 
                     29:  mov esi,ds:dword ptr[pfv0+esp]        
                     30:  mov edi,ds:dword ptr[pfv1+esp]        
                     31: 
                     32:  mov eax,ds:dword ptr[_r_refdef+rd_aliasvrectbottom]   
                     33: 
                     34: LDoForwardOrBackward:  
                     35: 
                     36:  mov edx,ds:dword ptr[fv_v+4+esi]      
                     37:  mov ecx,ds:dword ptr[fv_v+4+edi]      
                     38: 
                     39:  cmp edx,ecx   
                     40:  jl LDoForward 
                     41: 
                     42:  mov ecx,ds:dword ptr[fv_v+4+esi]      
                     43:  mov edx,ds:dword ptr[fv_v+4+edi]      
                     44:  mov edi,ds:dword ptr[pfv0+esp]        
                     45:  mov esi,ds:dword ptr[pfv1+esp]        
                     46: 
                     47: LDoForward:    
                     48: 
                     49:  sub ecx,edx   
                     50:  sub eax,edx   
                     51:  mov ds:dword ptr[Ltemp1],ecx  
                     52:  mov ds:dword ptr[Ltemp0],eax  
                     53:  fild ds:dword ptr[Ltemp1]     
                     54:  fild ds:dword ptr[Ltemp0]     
                     55:  mov edx,ds:dword ptr[outparm+esp]     
                     56:  mov eax,2     
                     57: 
                     58:  fdivrp st(1),st(0)    ; scale
                     59: 
                     60: LDo3Forward:   
                     61:  fild ds:dword ptr[fv_v+0+esi] ; fv0v0 | scale
                     62:  fild ds:dword ptr[fv_v+0+edi] ; fv1v0 | fv0v0 | scale
                     63:  fild ds:dword ptr[fv_v+4+esi] ; fv0v1 | fv1v0 | fv0v0 | scale
                     64:  fild ds:dword ptr[fv_v+4+edi] ; fv1v1 | fv0v1 | fv1v0 | fv0v0 | scale
                     65:  fild ds:dword ptr[fv_v+8+esi] ; fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv0v0 | scale
                     66:  fild ds:dword ptr[fv_v+8+edi] ; fv1v2 | fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv0v0 |
                     67: ;  scale
                     68:  fxch st(5)    ; fv0v0 | fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv1v2 |
                     69: ;  scale
                     70:  fsub st(4),st(0)      ; fv0v0 | fv0v2 | fv1v1 | fv0v1 | fv1v0-fv0v0 |
                     71: ;  fv1v2 | scale
                     72:  fxch st(3)    ; fv0v1 | fv0v2 | fv1v1 | fv0v0 | fv1v0-fv0v0 |
                     73: ;  fv1v2 | scale
                     74:  fsub st(2),st(0)      ; fv0v1 | fv0v2 | fv1v1-fv0v1 | fv0v0 |
                     75: ;  fv1v0-fv0v0 | fv1v2 | scale
                     76:  fxch st(1)    ; fv0v2 | fv0v1 | fv1v1-fv0v1 | fv0v0 |
                     77: ;  fv1v0-fv0v0 | fv1v2 | scale
                     78:  fsub st(5),st(0)      ; fv0v2 | fv0v1 | fv1v1-fv0v1 | fv0v0 |
                     79: ;  fv1v0-fv0v0 | fv1v2-fv0v2 | scale
                     80:  fxch st(6)    ; scale | fv0v1 | fv1v1-fv0v1 | fv0v0 |
                     81: ;  fv1v0-fv0v0 | fv1v2-fv0v2 | fv0v2
                     82:  fmul st(4),st(0)      ; scale | fv0v1 | fv1v1-fv0v1 | fv0v0 |
                     83: ;  (fv1v0-fv0v0)*scale | fv1v2-fv0v2 | fv0v2
                     84:  add edi,12    
                     85:  fmul st(2),st(0)      ; scale | fv0v1 | (fv1v1-fv0v1)*scale | fv0v0 |
                     86: ;  (fv1v0-fv0v0)*scale | fv1v2-fv0v2 | fv0v2
                     87:  add esi,12    
                     88:  add edx,12    
                     89:  fmul st(5),st(0)      ; scale | fv0v1 | (fv1v1-fv0v1)*scale | fv0v0 |
                     90: ;  (fv1v0-fv0v0)*scale | (fv1v2-fv0v2)*scale |
                     91: ;  fv0v2
                     92:  fxch st(3)    ; fv0v0 | fv0v1 | (fv1v1-fv0v1)*scale | scale |
                     93: ;  (fv1v0-fv0v0)*scale | (fv1v2-fv0v2)*scale |
                     94: ;  fv0v2
                     95:  faddp st(4),st(0)     ; fv0v1 | (fv1v1-fv0v1)*scale | scale |
                     96: ;  fv0v0+(fv1v0-fv0v0)*scale |
                     97: ;  (fv1v2-fv0v2)*scale | fv0v2
                     98:  faddp st(1),st(0)     ; fv0v1+(fv1v1-fv0v1)*scale | scale |
                     99: ;  fv0v0+(fv1v0-fv0v0)*scale |
                    100: ;  (fv1v2-fv0v2)*scale | fv0v2
                    101:  fxch st(4)    ; fv0v2 | scale | fv0v0+(fv1v0-fv0v0)*scale |
                    102: ;  (fv1v2-fv0v2)*scale | fv0v1+(fv1v1-fv0v1)*scale
                    103:  faddp st(3),st(0)     ; scale | fv0v0+(fv1v0-fv0v0)*scale |
                    104: ;  fv0v2+(fv1v2-fv0v2)*scale |
                    105: ;  fv0v1+(fv1v1-fv0v1)*scale
                    106:  fxch st(1)    ; fv0v0+(fv1v0-fv0v0)*scale | scale | 
                    107: ;  fv0v2+(fv1v2-fv0v2)*scale |
                    108: ;  fv0v1+(fv1v1-fv0v1)*scale
                    109:  fadd ds:dword ptr[float_point5]       
                    110:  fxch st(3)    ; fv0v1+(fv1v1-fv0v1)*scale | scale | 
                    111: ;  fv0v2+(fv1v2-fv0v2)*scale |
                    112: ;  fv0v0+(fv1v0-fv0v0)*scale
                    113:  fadd ds:dword ptr[float_point5]       
                    114:  fxch st(2)    ; fv0v2+(fv1v2-fv0v2)*scale | scale | 
                    115: ;  fv0v1+(fv1v1-fv0v1)*scale |
                    116: ;  fv0v0+(fv1v0-fv0v0)*scale
                    117:  fadd ds:dword ptr[float_point5]       
                    118:  fxch st(3)    ; fv0v0+(fv1v0-fv0v0)*scale | scale | 
                    119: ;  fv0v1+(fv1v1-fv0v1)*scale |
                    120: ;  fv0v2+(fv1v2-fv0v2)*scale
                    121:  fistp ds:dword ptr[fv_v+0-12+edx]     ; scale | fv0v1+(fv1v1-fv0v1)*scale |
                    122: ;  fv0v2+(fv1v2-fv0v2)*scale
                    123:  fxch st(1)    ; fv0v1+(fv1v1-fv0v1)*scale | scale |
                    124: ;  fv0v2+(fv1v2-fv0v2)*scale | scale
                    125:  fistp ds:dword ptr[fv_v+4-12+edx]     ; scale | fv0v2+(fv1v2-fv0v2)*scale
                    126:  fxch st(1)    ; fv0v2+(fv1v2-fv0v2)*sc | scale
                    127:  fistp ds:dword ptr[fv_v+8-12+edx]     ; scale
                    128: 
                    129:  dec eax       
                    130:  jnz LDo3Forward       
                    131: 
                    132:  fstp st(0)    
                    133: 
                    134:  pop edi       
                    135:  pop esi       
                    136: 
                    137:  ret   
                    138: 
                    139: 
                    140:  public _R_Alias_clip_top      
                    141: _R_Alias_clip_top:     
                    142:  push esi      
                    143:  push edi      
                    144: 
                    145:  mov esi,ds:dword ptr[pfv0+esp]        
                    146:  mov edi,ds:dword ptr[pfv1+esp]        
                    147: 
                    148:  mov eax,ds:dword ptr[_r_refdef+rd_aliasvrect+4]       
                    149:  jmp LDoForwardOrBackward      
                    150: 
                    151: 
                    152: 
                    153:  public _R_Alias_clip_right    
                    154: _R_Alias_clip_right:   
                    155:  push esi      
                    156:  push edi      
                    157: 
                    158:  mov esi,ds:dword ptr[pfv0+esp]        
                    159:  mov edi,ds:dword ptr[pfv1+esp]        
                    160: 
                    161:  mov eax,ds:dword ptr[_r_refdef+rd_aliasvrectright]    
                    162: 
                    163: LRightLeftEntry:       
                    164: 
                    165: 
                    166:  mov edx,ds:dword ptr[fv_v+4+esi]      
                    167:  mov ecx,ds:dword ptr[fv_v+4+edi]      
                    168: 
                    169:  cmp edx,ecx   
                    170:  mov edx,ds:dword ptr[fv_v+0+esi]      
                    171: 
                    172:  mov ecx,ds:dword ptr[fv_v+0+edi]      
                    173:  jl LDoForward2        
                    174: 
                    175:  mov ecx,ds:dword ptr[fv_v+0+esi]      
                    176:  mov edx,ds:dword ptr[fv_v+0+edi]      
                    177:  mov edi,ds:dword ptr[pfv0+esp]        
                    178:  mov esi,ds:dword ptr[pfv1+esp]        
                    179: 
                    180: LDoForward2:   
                    181: 
                    182:  jmp LDoForward        
                    183: 
                    184: 
                    185:  public _R_Alias_clip_left     
                    186: _R_Alias_clip_left:    
                    187:  push esi      
                    188:  push edi      
                    189: 
                    190:  mov esi,ds:dword ptr[pfv0+esp]        
                    191:  mov edi,ds:dword ptr[pfv1+esp]        
                    192: 
                    193:  mov eax,ds:dword ptr[_r_refdef+rd_aliasvrect+0]       
                    194:  jmp LRightLeftEntry   
                    195: 
                    196: 
                    197: 
                    198: _TEXT ENDS
                    199: endif  ;id386
                    200:  END

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.