www.pudn.com > tp60src.zip > TDINFO4.INC
l101e proc near test d3caa,1 jz @@2 cmp Phase,1 jne @@1 les di,CurType mov cx,es:[di].tdNext and cx,7fffh mov ax,Cnt.NameCount call StartBuf stosw mov ax,cx stosw mov ax,d3cd8.Offs stosw mov ax,d3cd8.Segm stosw mov al,d3ce8.B0 stosb call StopBuf @@1: inc Cnt.SymbolCount @@2: ret l101e endp l1057 proc near test d3caa,1 jz @@4 les bx,CurSymbol cmp Phase,0 jne @@1 call l0729 mov ax,Cnt.SymbolCount mov es:[bx],ax jmp short @@3 @@1: cmp Phase,1 jne @@3 call l0729 mov ax,Cnt.NameCount mov es:[bx+4],ax mov ax,bx mov cx,es:[bx+2] or d3ce8.B0,20h @@2: call StartBuf stosw mov ax,cx stosw mov ax,d3cd8.Offs stosw mov ax,d3cd8.Segm stosw mov al,d3ce8.B0 stosb call StopBuf @@3: inc Cnt.SymbolCount @@4: ret l10ac label near test d3caa,1 jz @@4 cmp Phase,1 jne @@3 mov ax,Cnt.NameCount mov cx,Cnt.TypeCount jmp @@2 l1057 endp StoreData proc near test d3caa,4000h jz @@2 mov cx,d3cdc jcxz @@2 cmp Phase,4000h jne @@1 call StartBuf push ds lds si,d3cde rep movsb pop ds call StopBuf mov cx,d3cdc @@1: add Cnt.DataCount,cx @@2: ret StoreData endp l10f1 proc near test d3caa,100h jz @@2 cmp Phase,100h jnz @@1 call l1169 @@1: mov ax,es:[di+4] and ax,8000h or ax,Cnt.TypeCount mov es:[di+4],ax inc Cnt.TypeCount @@2: ret l10f1 endp l1118 proc near test d3caa,100h jz @@2 cmp Phase,100h jne @@1 call l1169 @@1: mov ax,Cnt.TypeCount push es bx mov bx,di call l0729 mov es:[bx+2],ax pop bx es inc Cnt.TypeCount @@2: ret l1118 endp StoreFuncType proc near test d3caa,100h jz @@2 cmp Phase,100h jne @@1 push es ds call StartBuf lea si,l02b3 push cs pop ds mov cx,8 rep movsb pop ds call StopBuf pop es @@1: inc Cnt.TypeCount @@2: ret StoreFuncType endp l1169 proc near push es di mov cl,ah call StartBuf stosb xor ax,ax stosw mov ax,dx stosw mov al,cl stosb mov ax,bx stosw call StopBuf pop di es ret l1169 endp StoreType proc near test d3caa,100h jz @@2 cmp Phase,100h jne @@1 push es di call StartBuf stosw mov ax,bx stosw mov ax,cx stosw mov ax,dx stosw call StopBuf pop di es @@1: inc Cnt.TypeCount @@2: ret StoreType endp StoreMember proc near mov al,80h xor cx,cx xor bx,bx _StoreMember label near test d3caa,200h jz @@2 cmp Phase,200h jne @@1 push es di call StartBuf stosb mov ax,bx stosw mov ax,cx stosw call StopBuf pop di es @@1: inc Cnt.MemberCount @@2: ret StoreMember endp PatchMember proc near cmp Phase,200h jne @@1 call StartBuf or byte ptr es:[di-5],80h @@1: ret PatchMember endp StoreClass proc near test d3caa,400h jz @@2 cmp Phase,400h jne @@1 push es di ax mov ax,es:[di+4] and ax,8000h or ax,Cnt.ClassCount mov es:[di+4],ax pop ax mov si,es:[di+1ch] call StartBuf stosw mov ax,bx stosw mov ax,cx stosw mov ax,si stosw mov ax,dx stosw mov al,d3ce6.B1 stosb call StopBuf pop di es @@1: inc Cnt.ClassCount @@2: ret StoreClass endp StoreParent proc near test d3caa,800h jz @@2 cmp Phase,800h jne @@1 call StartBuf stosw call StopBuf @@1: inc Cnt.ParentCount @@2: ret StoreParent endp StoreSourceFile proc near test d3caa,4 jz @@2 cmp Phase,4 jne @@1 push es ds es mov ax,Cnt.NameCount call StartBuf pop ds stosw mov ax,[si+3] stosw mov ax,[si+5] stosw pop ds es call StopBuf @@1: mov ax,Cnt.SourceFileCount mov es:[si+1],ax inc Cnt.SourceFileCount @@2: ret StoreSourceFile endp l127d proc near xor dx,dx call l066a mov cx,dx jcxz @@5 add Cnt.LineNumberCount,cx mov ax,4 cwd mul cx call GetMem push es di ds mov bx,es:[di] add bx,es:[si+4] mov dx,es:[si+6] mov cx,es:[si+8] add si,0ah push es call StartBuf pop ds @@1: lodsb or al,al js @@2 cbw jmp short @@3 @@2: and al,7fh mov ah,al lodsb @@3: or ax,ax jz @@4 add ax,bx push ax mov ax,dx stosw mov ax,bx stosw pop bx @@4: inc dx loop @@1 pop ds call StopBuf pop di es @@5: ret l127d endp StoreCorrel proc near test d3caa,80h jz @@2 cmp Phase,80h jne @@1 push es di bx add bx,es:[18h] mov bx,es:[bx+1] call StartBuf mov ax,Cnt.XPEHCount stosw mov ax,bx stosw mov ax,Cnt.LineNumberCount stosw mov ax,dx stosw call StopBuf pop bx di es @@1: inc Cnt.CorrelCount add Cnt.LineNumberCount,dx @@2: ret StoreCorrel endp