📄 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -