2349 lines
27 KiB
Plaintext
2349 lines
27 KiB
Plaintext
.486
|
|
.model flat
|
|
extrn __fltused:near
|
|
extrn __ftol:near
|
|
_DATA segment
|
|
public _yyin
|
|
align 4
|
|
_yyin label byte
|
|
dd 00H
|
|
public _yyout
|
|
align 4
|
|
_yyout label byte
|
|
dd 00H
|
|
public _yylex
|
|
_DATA ends
|
|
_TEXT segment
|
|
_yylex:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
sub esp,4
|
|
jmp L3
|
|
L2:
|
|
L5:
|
|
mov edi,dword ptr (-4)[ebp]
|
|
cmp edi,-1
|
|
jl L6
|
|
cmp edi,4
|
|
jg L6
|
|
jmp dword ptr (L17+4)[edi*4]
|
|
_TEXT ends
|
|
_TEXT segment
|
|
align 4
|
|
L17 label byte
|
|
dd L7
|
|
dd L8
|
|
dd L11
|
|
dd L12
|
|
dd L7
|
|
dd L14
|
|
_TEXT ends
|
|
_TEXT segment
|
|
L8:
|
|
call _yywrap
|
|
add esp,0
|
|
cmp eax,0
|
|
je L7
|
|
mov eax,0
|
|
jmp L1
|
|
L11:
|
|
mov eax,257
|
|
jmp L1
|
|
L12:
|
|
mov eax,258
|
|
jmp L1
|
|
L14:
|
|
movsx eax,byte ptr (_yytext)
|
|
jmp L1
|
|
L6:
|
|
mov edi,dword ptr (-4)[ebp]
|
|
push edi
|
|
lea edi,(L16)
|
|
push edi
|
|
mov edi,dword ptr (_yyout)
|
|
push edi
|
|
call _fprintf
|
|
add esp,12
|
|
L7:
|
|
L3:
|
|
call _yylook
|
|
add esp,0
|
|
mov dword ptr (-4)[ebp],eax
|
|
cmp eax,0
|
|
jge L2
|
|
mov eax,0
|
|
L1:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_TEXT ends
|
|
_DATA segment
|
|
public _yyvstop
|
|
align 4
|
|
_yyvstop label byte
|
|
dd 0
|
|
dd 4
|
|
dd 0
|
|
dd 3
|
|
dd 4
|
|
dd 0
|
|
dd 2
|
|
dd 4
|
|
dd 0
|
|
dd 1
|
|
dd 4
|
|
dd 0
|
|
dd 2
|
|
dd 0
|
|
dd 1
|
|
dd 0
|
|
dd 0
|
|
public _yycrank
|
|
align 1
|
|
_yycrank label byte
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 1
|
|
db 3
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 1
|
|
db 4
|
|
db 1
|
|
db 3
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 1
|
|
db 5
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 5
|
|
db 7
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 1
|
|
db 6
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 6
|
|
db 8
|
|
db 0
|
|
db 0
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 6
|
|
db 8
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
public _yysvec
|
|
align 4
|
|
_yysvec label byte
|
|
dd 00H
|
|
dd 00H
|
|
dd 00H
|
|
dd _yycrank-2
|
|
dd 00H
|
|
dd 00H
|
|
dd _yycrank
|
|
dd _yysvec+12
|
|
dd 00H
|
|
dd _yycrank
|
|
dd 00H
|
|
dd _yyvstop+4
|
|
dd _yycrank
|
|
dd 00H
|
|
dd _yyvstop+12
|
|
dd _yycrank+4
|
|
dd 00H
|
|
dd _yyvstop+24
|
|
dd _yycrank+38
|
|
dd 00H
|
|
dd _yyvstop+36
|
|
dd _yycrank
|
|
dd _yysvec+60
|
|
dd _yyvstop+48
|
|
dd _yycrank
|
|
dd _yysvec+72
|
|
dd _yyvstop+56
|
|
dd 00H
|
|
dd 00H
|
|
dd 00H
|
|
public _yytop
|
|
align 4
|
|
_yytop label byte
|
|
dd _yycrank+282
|
|
public _yybgin
|
|
align 4
|
|
_yybgin label byte
|
|
dd _yysvec+12
|
|
public _yymatch
|
|
align 1
|
|
_yymatch label byte
|
|
db 0
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 9
|
|
db 10
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 9
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 48
|
|
db 48
|
|
db 48
|
|
db 48
|
|
db 48
|
|
db 48
|
|
db 48
|
|
db 48
|
|
db 48
|
|
db 48
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 65
|
|
db 1
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 65
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 1
|
|
db 0
|
|
public _yyextra
|
|
align 1
|
|
_yyextra label byte
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
db 0
|
|
public _yylineno
|
|
align 4
|
|
_yylineno label byte
|
|
dd 1
|
|
public _yysptr
|
|
align 4
|
|
_yysptr label byte
|
|
dd _yysbuf
|
|
public _yyprevious
|
|
align 4
|
|
_yyprevious label byte
|
|
dd 10
|
|
public _yylook
|
|
_DATA ends
|
|
_TEXT segment
|
|
_yylook:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
sub esp,44
|
|
cmp dword ptr (_yymorfg),0
|
|
jne L34
|
|
lea edi,(_yytext)
|
|
mov dword ptr (-16)[ebp],edi
|
|
jmp L35
|
|
L34:
|
|
mov dword ptr (_yymorfg),0
|
|
mov edi,dword ptr (_yyleng)
|
|
lea edi,(_yytext)[edi]
|
|
mov dword ptr (-16)[ebp],edi
|
|
L35:
|
|
L36:
|
|
lea edi,(_yylstate)
|
|
mov dword ptr (-8)[ebp],edi
|
|
mov edi,dword ptr (_yybgin)
|
|
mov dword ptr (-4)[ebp],edi
|
|
mov dword ptr (_yyestate),edi
|
|
cmp dword ptr (_yyprevious),10
|
|
jne L40
|
|
mov edi,dword ptr (-4)[ebp]
|
|
lea edi,(12)[edi]
|
|
mov dword ptr (-4)[ebp],edi
|
|
L40:
|
|
L42:
|
|
mov edi,dword ptr (-4)[ebp]
|
|
mov edi,dword ptr [edi]
|
|
mov dword ptr (-12)[ebp],edi
|
|
mov edi,dword ptr (-12)[ebp]
|
|
lea esi,(_yycrank)
|
|
cmp edi,esi
|
|
jne L46
|
|
mov edi,dword ptr (-4)[ebp]
|
|
mov edi,dword ptr (4)[edi]
|
|
mov dword ptr (-28)[ebp],edi
|
|
mov edi,dword ptr (-28)[ebp]
|
|
cmp edi,0
|
|
jne L48
|
|
jmp L93
|
|
L48:
|
|
mov edi,dword ptr (-28)[ebp]
|
|
mov edi,dword ptr [edi]
|
|
lea esi,(_yycrank)
|
|
cmp edi,esi
|
|
jne L50
|
|
jmp L93
|
|
L50:
|
|
L46:
|
|
mov edi,dword ptr (-16)[ebp]
|
|
lea esi,(1)[edi]
|
|
mov dword ptr (-16)[ebp],esi
|
|
mov esi,dword ptr (_yysptr)
|
|
lea ebx,(_yysbuf)
|
|
cmp esi,ebx
|
|
jbe L60
|
|
mov esi,dword ptr (_yysptr)
|
|
lea esi,(-1)[esi]
|
|
mov dword ptr (_yysptr),esi
|
|
movsx esi,byte ptr [esi]
|
|
mov dword ptr (-40)[ebp],esi
|
|
jmp L61
|
|
L60:
|
|
mov esi,dword ptr (_yyin)
|
|
lea esi,(4)[esi]
|
|
mov ebx,dword ptr [esi]
|
|
sub ebx,1
|
|
mov dword ptr [esi],ebx
|
|
cmp ebx,0
|
|
jl L62
|
|
mov esi,dword ptr (_yyin)
|
|
mov ebx,dword ptr [esi]
|
|
lea edx,(1)[ebx]
|
|
mov dword ptr [esi],edx
|
|
movsx esi,byte ptr [ebx]
|
|
and esi,255
|
|
mov dword ptr (-44)[ebp],esi
|
|
jmp L63
|
|
L62:
|
|
mov esi,dword ptr (_yyin)
|
|
push esi
|
|
call __filbuf
|
|
add esp,4
|
|
mov esi,eax
|
|
mov dword ptr (-44)[ebp],esi
|
|
L63:
|
|
mov esi,dword ptr (-44)[ebp]
|
|
mov dword ptr (-40)[ebp],esi
|
|
L61:
|
|
mov esi,dword ptr (-40)[ebp]
|
|
mov dword ptr (_yytchar),esi
|
|
cmp esi,10
|
|
jne L58
|
|
inc dword ptr (_yylineno)
|
|
mov esi,dword ptr (_yytchar)
|
|
mov dword ptr (-36)[ebp],esi
|
|
jmp L59
|
|
L58:
|
|
mov esi,dword ptr (_yytchar)
|
|
mov dword ptr (-36)[ebp],esi
|
|
L59:
|
|
cmp dword ptr (-36)[ebp],-1
|
|
jne L56
|
|
mov dword ptr (-32)[ebp],0
|
|
jmp L57
|
|
L56:
|
|
mov esi,dword ptr (_yytchar)
|
|
mov dword ptr (-32)[ebp],esi
|
|
L57:
|
|
mov esi,dword ptr (-32)[ebp]
|
|
mov dword ptr (-20)[ebp],esi
|
|
mov ebx,esi
|
|
mov byte ptr [edi],bl
|
|
L64:
|
|
mov edi,dword ptr (-12)[ebp]
|
|
mov dword ptr (-24)[ebp],edi
|
|
lea esi,(_yycrank)
|
|
cmp edi,esi
|
|
jbe L65
|
|
mov edi,dword ptr (-20)[ebp]
|
|
mov esi,dword ptr (-24)[ebp]
|
|
lea edi,[esi][edi*2]
|
|
mov dword ptr (-12)[ebp],edi
|
|
mov edi,dword ptr (-12)[ebp]
|
|
mov esi,edi
|
|
mov ebx,dword ptr (_yytop)
|
|
cmp esi,ebx
|
|
ja L66
|
|
movsx edi,byte ptr [edi]
|
|
imul edi,edi,12
|
|
lea edi,(_yysvec)[edi]
|
|
mov esi,dword ptr (-4)[ebp]
|
|
cmp edi,esi
|
|
jne L66
|
|
lea edi,(_yysvec)
|
|
mov esi,dword ptr (-12)[ebp]
|
|
movsx esi,byte ptr (1)[esi]
|
|
imul esi,esi,12
|
|
lea esi,(_yysvec)[esi]
|
|
cmp esi,edi
|
|
jne L69
|
|
mov edi,dword ptr (-16)[ebp]
|
|
lea edi,(-1)[edi]
|
|
mov dword ptr (-16)[ebp],edi
|
|
movsx edi,byte ptr [edi]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp dword ptr (_yytchar),10
|
|
jne L71
|
|
dec dword ptr (_yylineno)
|
|
L71:
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(1)[edi]
|
|
mov dword ptr (_yysptr),esi
|
|
mov esi,dword ptr (_yytchar)
|
|
mov ebx,esi
|
|
mov byte ptr [edi],bl
|
|
jmp L93
|
|
L69:
|
|
mov edi,dword ptr (-8)[ebp]
|
|
lea esi,(4)[edi]
|
|
mov dword ptr (-8)[ebp],esi
|
|
mov esi,dword ptr (-12)[ebp]
|
|
movsx esi,byte ptr (1)[esi]
|
|
imul esi,esi,12
|
|
lea esi,(_yysvec)[esi]
|
|
mov dword ptr (-4)[ebp],esi
|
|
mov dword ptr [edi],esi
|
|
jmp L42
|
|
L65:
|
|
mov edi,dword ptr (-12)[ebp]
|
|
lea esi,(_yycrank)
|
|
cmp edi,esi
|
|
jae L74
|
|
lea edi,(_yycrank)
|
|
mov esi,dword ptr (-12)[ebp]
|
|
sub edi,esi
|
|
mov eax,edi
|
|
mov edi,2
|
|
cdq
|
|
idiv edi
|
|
lea edi,(_yycrank)[eax*2]
|
|
mov dword ptr (-24)[ebp],edi
|
|
mov dword ptr (-12)[ebp],edi
|
|
mov edi,dword ptr (-20)[ebp]
|
|
mov esi,dword ptr (-12)[ebp]
|
|
lea edi,[esi][edi*2]
|
|
mov dword ptr (-12)[ebp],edi
|
|
mov edi,dword ptr (-12)[ebp]
|
|
mov esi,edi
|
|
mov ebx,dword ptr (_yytop)
|
|
cmp esi,ebx
|
|
ja L76
|
|
movsx edi,byte ptr [edi]
|
|
imul edi,edi,12
|
|
lea edi,(_yysvec)[edi]
|
|
mov esi,dword ptr (-4)[ebp]
|
|
cmp edi,esi
|
|
jne L76
|
|
lea edi,(_yysvec)
|
|
mov esi,dword ptr (-12)[ebp]
|
|
movsx esi,byte ptr (1)[esi]
|
|
imul esi,esi,12
|
|
lea esi,(_yysvec)[esi]
|
|
cmp esi,edi
|
|
jne L78
|
|
mov edi,dword ptr (-16)[ebp]
|
|
lea edi,(-1)[edi]
|
|
mov dword ptr (-16)[ebp],edi
|
|
movsx edi,byte ptr [edi]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp dword ptr (_yytchar),10
|
|
jne L80
|
|
dec dword ptr (_yylineno)
|
|
L80:
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(1)[edi]
|
|
mov dword ptr (_yysptr),esi
|
|
mov esi,dword ptr (_yytchar)
|
|
mov ebx,esi
|
|
mov byte ptr [edi],bl
|
|
jmp L93
|
|
L78:
|
|
mov edi,dword ptr (-8)[ebp]
|
|
lea esi,(4)[edi]
|
|
mov dword ptr (-8)[ebp],esi
|
|
mov esi,dword ptr (-12)[ebp]
|
|
movsx esi,byte ptr (1)[esi]
|
|
imul esi,esi,12
|
|
lea esi,(_yysvec)[esi]
|
|
mov dword ptr (-4)[ebp],esi
|
|
mov dword ptr [edi],esi
|
|
jmp L42
|
|
L76:
|
|
mov edi,dword ptr (-20)[ebp]
|
|
movsx edi,byte ptr (_yymatch)[edi]
|
|
mov esi,dword ptr (-24)[ebp]
|
|
lea edi,[esi][edi*2]
|
|
mov dword ptr (-12)[ebp],edi
|
|
mov edi,dword ptr (-12)[ebp]
|
|
mov esi,edi
|
|
mov ebx,dword ptr (_yytop)
|
|
cmp esi,ebx
|
|
ja L82
|
|
movsx edi,byte ptr [edi]
|
|
imul edi,edi,12
|
|
lea edi,(_yysvec)[edi]
|
|
mov esi,dword ptr (-4)[ebp]
|
|
cmp edi,esi
|
|
jne L82
|
|
lea edi,(_yysvec)
|
|
mov esi,dword ptr (-12)[ebp]
|
|
movsx esi,byte ptr (1)[esi]
|
|
imul esi,esi,12
|
|
lea esi,(_yysvec)[esi]
|
|
cmp esi,edi
|
|
jne L84
|
|
mov edi,dword ptr (-16)[ebp]
|
|
lea edi,(-1)[edi]
|
|
mov dword ptr (-16)[ebp],edi
|
|
movsx edi,byte ptr [edi]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp dword ptr (_yytchar),10
|
|
jne L86
|
|
dec dword ptr (_yylineno)
|
|
L86:
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(1)[edi]
|
|
mov dword ptr (_yysptr),esi
|
|
mov esi,dword ptr (_yytchar)
|
|
mov ebx,esi
|
|
mov byte ptr [edi],bl
|
|
jmp L93
|
|
L84:
|
|
mov edi,dword ptr (-8)[ebp]
|
|
lea esi,(4)[edi]
|
|
mov dword ptr (-8)[ebp],esi
|
|
mov esi,dword ptr (-12)[ebp]
|
|
movsx esi,byte ptr (1)[esi]
|
|
imul esi,esi,12
|
|
lea esi,(_yysvec)[esi]
|
|
mov dword ptr (-4)[ebp],esi
|
|
mov dword ptr [edi],esi
|
|
jmp L42
|
|
L82:
|
|
L74:
|
|
L66:
|
|
mov edi,dword ptr (-4)[ebp]
|
|
mov edi,dword ptr (4)[edi]
|
|
mov dword ptr (-4)[ebp],edi
|
|
cmp edi,0
|
|
je L88
|
|
mov edi,dword ptr (-4)[ebp]
|
|
mov edi,dword ptr [edi]
|
|
mov dword ptr (-12)[ebp],edi
|
|
lea esi,(_yycrank)
|
|
cmp edi,esi
|
|
je L88
|
|
jmp L64
|
|
L88:
|
|
mov edi,dword ptr (-16)[ebp]
|
|
lea edi,(-1)[edi]
|
|
mov dword ptr (-16)[ebp],edi
|
|
movsx edi,byte ptr [edi]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp dword ptr (_yytchar),10
|
|
jne L90
|
|
dec dword ptr (_yylineno)
|
|
L90:
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(1)[edi]
|
|
mov dword ptr (_yysptr),esi
|
|
mov esi,dword ptr (_yytchar)
|
|
mov ebx,esi
|
|
mov byte ptr [edi],bl
|
|
jmp L93
|
|
L92:
|
|
mov edi,dword ptr (-16)[ebp]
|
|
lea esi,(-1)[edi]
|
|
mov dword ptr (-16)[ebp],esi
|
|
mov byte ptr [edi],0
|
|
mov edi,dword ptr (-8)[ebp]
|
|
mov edi,dword ptr [edi]
|
|
mov esi,edi
|
|
cmp esi,0
|
|
je L95
|
|
mov edi,dword ptr (8)[edi]
|
|
mov dword ptr (_yyfnd),edi
|
|
cmp edi,0
|
|
je L95
|
|
mov edi,dword ptr (_yyfnd)
|
|
cmp dword ptr [edi],0
|
|
jle L95
|
|
mov edi,dword ptr (-8)[ebp]
|
|
mov dword ptr (_yyolsp),edi
|
|
mov edi,dword ptr (_yyfnd)
|
|
mov edi,dword ptr [edi]
|
|
movsx edi,byte ptr (_yyextra)[edi]
|
|
cmp edi,0
|
|
je L97
|
|
jmp L100
|
|
L99:
|
|
mov edi,dword ptr (-8)[ebp]
|
|
lea edi,(-4)[edi]
|
|
mov dword ptr (-8)[ebp],edi
|
|
mov edi,dword ptr (-16)[ebp]
|
|
lea esi,(-1)[edi]
|
|
mov dword ptr (-16)[ebp],esi
|
|
movsx edi,byte ptr [edi]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp dword ptr (_yytchar),10
|
|
jne L102
|
|
dec dword ptr (_yylineno)
|
|
L102:
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(1)[edi]
|
|
mov dword ptr (_yysptr),esi
|
|
mov esi,dword ptr (_yytchar)
|
|
mov ebx,esi
|
|
mov byte ptr [edi],bl
|
|
L100:
|
|
mov edi,dword ptr (_yyfnd)
|
|
mov edi,dword ptr [edi]
|
|
neg edi
|
|
push edi
|
|
mov edi,dword ptr (-8)[ebp]
|
|
mov edi,dword ptr [edi]
|
|
mov edi,dword ptr (8)[edi]
|
|
push edi
|
|
call _yyback
|
|
add esp,8
|
|
cmp eax,1
|
|
je L104
|
|
mov edi,dword ptr (-8)[ebp]
|
|
lea esi,(_yylstate)
|
|
cmp edi,esi
|
|
ja L99
|
|
L104:
|
|
L97:
|
|
mov edi,dword ptr (-16)[ebp]
|
|
movsx esi,byte ptr [edi]
|
|
mov dword ptr (_yyprevious),esi
|
|
mov esi,dword ptr (-8)[ebp]
|
|
mov dword ptr (_yylsp),esi
|
|
lea esi,(_yytext)
|
|
sub edi,esi
|
|
lea edi,(1)[edi]
|
|
mov dword ptr (_yyleng),edi
|
|
mov edi,dword ptr (_yyleng)
|
|
mov byte ptr (_yytext)[edi],0
|
|
mov edi,dword ptr (_yyfnd)
|
|
lea esi,(4)[edi]
|
|
mov dword ptr (_yyfnd),esi
|
|
mov eax,dword ptr [edi]
|
|
jmp L33
|
|
L95:
|
|
mov edi,dword ptr (-16)[ebp]
|
|
movsx edi,byte ptr [edi]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp dword ptr (_yytchar),10
|
|
jne L105
|
|
dec dword ptr (_yylineno)
|
|
L105:
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(1)[edi]
|
|
mov dword ptr (_yysptr),esi
|
|
mov esi,dword ptr (_yytchar)
|
|
mov ebx,esi
|
|
mov byte ptr [edi],bl
|
|
L93:
|
|
mov edi,dword ptr (-8)[ebp]
|
|
lea esi,(-4)[edi]
|
|
mov dword ptr (-8)[ebp],esi
|
|
lea esi,(_yylstate)
|
|
cmp edi,esi
|
|
ja L92
|
|
movsx edi,byte ptr (_yytext)
|
|
cmp edi,0
|
|
jne L107
|
|
lea edi,(_yysbuf)
|
|
mov dword ptr (_yysptr),edi
|
|
mov eax,0
|
|
jmp L33
|
|
L107:
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(_yysbuf)
|
|
cmp edi,esi
|
|
jbe L117
|
|
mov edi,dword ptr (_yysptr)
|
|
lea edi,(-1)[edi]
|
|
mov dword ptr (_yysptr),edi
|
|
movsx edi,byte ptr [edi]
|
|
mov dword ptr (-40)[ebp],edi
|
|
jmp L118
|
|
L117:
|
|
mov edi,dword ptr (_yyin)
|
|
lea edi,(4)[edi]
|
|
mov esi,dword ptr [edi]
|
|
sub esi,1
|
|
mov dword ptr [edi],esi
|
|
cmp esi,0
|
|
jl L119
|
|
mov edi,dword ptr (_yyin)
|
|
mov esi,dword ptr [edi]
|
|
lea ebx,(1)[esi]
|
|
mov dword ptr [edi],ebx
|
|
movsx edi,byte ptr [esi]
|
|
and edi,255
|
|
mov dword ptr (-44)[ebp],edi
|
|
jmp L120
|
|
L119:
|
|
mov edi,dword ptr (_yyin)
|
|
push edi
|
|
call __filbuf
|
|
add esp,4
|
|
mov edi,eax
|
|
mov dword ptr (-44)[ebp],edi
|
|
L120:
|
|
mov edi,dword ptr (-44)[ebp]
|
|
mov dword ptr (-40)[ebp],edi
|
|
L118:
|
|
mov edi,dword ptr (-40)[ebp]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp edi,10
|
|
jne L115
|
|
inc dword ptr (_yylineno)
|
|
mov edi,dword ptr (_yytchar)
|
|
mov dword ptr (-36)[ebp],edi
|
|
jmp L116
|
|
L115:
|
|
mov edi,dword ptr (_yytchar)
|
|
mov dword ptr (-36)[ebp],edi
|
|
L116:
|
|
cmp dword ptr (-36)[ebp],-1
|
|
jne L113
|
|
mov dword ptr (-32)[ebp],0
|
|
jmp L114
|
|
L113:
|
|
mov edi,dword ptr (_yytchar)
|
|
mov dword ptr (-32)[ebp],edi
|
|
L114:
|
|
mov edi,dword ptr (-32)[ebp]
|
|
mov ebx,edi
|
|
mov byte ptr (_yytext),bl
|
|
movsx edi,bl
|
|
mov dword ptr (_yyprevious),edi
|
|
cmp dword ptr (_yyprevious),0
|
|
jle L121
|
|
mov edi,dword ptr (_yyout)
|
|
lea edi,(4)[edi]
|
|
mov esi,dword ptr [edi]
|
|
sub esi,1
|
|
mov dword ptr [edi],esi
|
|
cmp esi,0
|
|
jl L124
|
|
mov edi,dword ptr (_yyout)
|
|
mov esi,dword ptr [edi]
|
|
lea ebx,(1)[esi]
|
|
mov dword ptr [edi],ebx
|
|
mov edi,dword ptr (_yyprevious)
|
|
mov ebx,edi
|
|
mov byte ptr [esi],bl
|
|
jmp L125
|
|
L124:
|
|
mov edi,dword ptr (_yyout)
|
|
push edi
|
|
mov edi,dword ptr (_yyprevious)
|
|
push edi
|
|
call __flsbuf
|
|
add esp,8
|
|
L125:
|
|
L121:
|
|
lea edi,(_yytext)
|
|
mov dword ptr (-16)[ebp],edi
|
|
jmp L36
|
|
L33:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _yyback
|
|
_yyback:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov edi,dword ptr (20)[ebp]
|
|
cmp edi,0
|
|
jne L130
|
|
mov eax,0
|
|
jmp L126
|
|
L129:
|
|
mov edi,dword ptr (20)[ebp]
|
|
lea esi,(4)[edi]
|
|
mov dword ptr (20)[ebp],esi
|
|
mov esi,dword ptr (24)[ebp]
|
|
cmp dword ptr [edi],esi
|
|
jne L132
|
|
mov eax,1
|
|
jmp L126
|
|
L132:
|
|
L130:
|
|
mov edi,dword ptr (20)[ebp]
|
|
cmp dword ptr [edi],0
|
|
jne L129
|
|
mov eax,0
|
|
L126:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _yyinput
|
|
_yyinput:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
sub esp,16
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(_yysbuf)
|
|
cmp edi,esi
|
|
jbe L143
|
|
mov edi,dword ptr (_yysptr)
|
|
lea edi,(-1)[edi]
|
|
mov dword ptr (_yysptr),edi
|
|
movsx edi,byte ptr [edi]
|
|
mov dword ptr (-12)[ebp],edi
|
|
jmp L144
|
|
L143:
|
|
mov edi,dword ptr (_yyin)
|
|
lea edi,(4)[edi]
|
|
mov esi,dword ptr [edi]
|
|
sub esi,1
|
|
mov dword ptr [edi],esi
|
|
cmp esi,0
|
|
jl L145
|
|
mov edi,dword ptr (_yyin)
|
|
mov esi,dword ptr [edi]
|
|
lea ebx,(1)[esi]
|
|
mov dword ptr [edi],ebx
|
|
movsx edi,byte ptr [esi]
|
|
and edi,255
|
|
mov dword ptr (-16)[ebp],edi
|
|
jmp L146
|
|
L145:
|
|
mov edi,dword ptr (_yyin)
|
|
push edi
|
|
call __filbuf
|
|
add esp,4
|
|
mov edi,eax
|
|
mov dword ptr (-16)[ebp],edi
|
|
L146:
|
|
mov edi,dword ptr (-16)[ebp]
|
|
mov dword ptr (-12)[ebp],edi
|
|
L144:
|
|
mov edi,dword ptr (-12)[ebp]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp edi,10
|
|
jne L141
|
|
inc dword ptr (_yylineno)
|
|
mov edi,dword ptr (_yytchar)
|
|
mov dword ptr (-8)[ebp],edi
|
|
jmp L142
|
|
L141:
|
|
mov edi,dword ptr (_yytchar)
|
|
mov dword ptr (-8)[ebp],edi
|
|
L142:
|
|
cmp dword ptr (-8)[ebp],-1
|
|
jne L139
|
|
mov dword ptr (-4)[ebp],0
|
|
jmp L140
|
|
L139:
|
|
mov edi,dword ptr (_yytchar)
|
|
mov dword ptr (-4)[ebp],edi
|
|
L140:
|
|
mov eax,dword ptr (-4)[ebp]
|
|
L134:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _yyoutput
|
|
_yyoutput:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov edi,dword ptr (_yyout)
|
|
lea edi,(4)[edi]
|
|
mov esi,dword ptr [edi]
|
|
sub esi,1
|
|
mov dword ptr [edi],esi
|
|
cmp esi,0
|
|
jl L149
|
|
mov edi,dword ptr (_yyout)
|
|
mov esi,dword ptr [edi]
|
|
lea ebx,(1)[esi]
|
|
mov dword ptr [edi],ebx
|
|
mov edi,dword ptr (20)[ebp]
|
|
mov ebx,edi
|
|
mov byte ptr [esi],bl
|
|
jmp L150
|
|
L149:
|
|
mov edi,dword ptr (_yyout)
|
|
push edi
|
|
mov edi,dword ptr (20)[ebp]
|
|
push edi
|
|
call __flsbuf
|
|
add esp,8
|
|
L150:
|
|
mov eax,0
|
|
L147:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _yyunput
|
|
_yyunput:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov edi,dword ptr (20)[ebp]
|
|
mov dword ptr (_yytchar),edi
|
|
cmp dword ptr (_yytchar),10
|
|
jne L152
|
|
dec dword ptr (_yylineno)
|
|
L152:
|
|
mov edi,dword ptr (_yysptr)
|
|
lea esi,(1)[edi]
|
|
mov dword ptr (_yysptr),esi
|
|
mov esi,dword ptr (_yytchar)
|
|
mov ebx,esi
|
|
mov byte ptr [edi],bl
|
|
mov eax,0
|
|
L151:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _main
|
|
_main:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
lea edi,(__iob)
|
|
mov dword ptr (_yyin),edi
|
|
lea edi,(__iob+32)
|
|
mov dword ptr (_yyout),edi
|
|
call _yyparse
|
|
add esp,0
|
|
mov eax,0
|
|
L154:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _yyerror
|
|
_yyerror:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov edi,dword ptr (20)[ebp]
|
|
push edi
|
|
lea edi,(L157)
|
|
push edi
|
|
call _printf
|
|
add esp,8
|
|
mov eax,0
|
|
L156:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_TEXT ends
|
|
_DATA segment
|
|
public _yyexca
|
|
align 2
|
|
_yyexca label byte
|
|
dw -1
|
|
dw 1
|
|
dw 0
|
|
dw -1
|
|
dw -2
|
|
dw 0
|
|
public _yyact
|
|
align 2
|
|
_yyact label byte
|
|
dw 12
|
|
dw 2
|
|
dw 9
|
|
dw 8
|
|
dw 17
|
|
dw 11
|
|
dw 25
|
|
dw 17
|
|
dw 15
|
|
dw 18
|
|
dw 16
|
|
dw 10
|
|
dw 18
|
|
dw 17
|
|
dw 15
|
|
dw 7
|
|
dw 16
|
|
dw 13
|
|
dw 18
|
|
dw 5
|
|
dw 3
|
|
dw 1
|
|
dw 0
|
|
dw 19
|
|
dw 20
|
|
dw 0
|
|
dw 0
|
|
dw 21
|
|
dw 22
|
|
dw 23
|
|
dw 24
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 6
|
|
dw 14
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 4
|
|
dw 6
|
|
public _yypact
|
|
align 2
|
|
_yypact label byte
|
|
dw -1000
|
|
dw -9
|
|
dw -1000
|
|
dw 5
|
|
dw -7
|
|
dw -59
|
|
dw -1000
|
|
dw -1000
|
|
dw -1000
|
|
dw -40
|
|
dw -29
|
|
dw -40
|
|
dw -40
|
|
dw -1000
|
|
dw -1000
|
|
dw -40
|
|
dw -40
|
|
dw -40
|
|
dw -40
|
|
dw -38
|
|
dw -35
|
|
dw -38
|
|
dw -38
|
|
dw -1000
|
|
dw -1000
|
|
dw -1000
|
|
public _yypgo
|
|
align 2
|
|
_yypgo label byte
|
|
dw 0
|
|
dw 21
|
|
dw 20
|
|
dw 17
|
|
dw 11
|
|
public _yyr1
|
|
align 2
|
|
_yyr1 label byte
|
|
dw 0
|
|
dw 1
|
|
dw 1
|
|
dw 1
|
|
dw 1
|
|
dw 2
|
|
dw 4
|
|
dw 4
|
|
dw 4
|
|
dw 4
|
|
dw 4
|
|
dw 4
|
|
dw 4
|
|
dw 4
|
|
dw 3
|
|
public _yyr2
|
|
align 2
|
|
_yyr2 label byte
|
|
dw 0
|
|
dw 0
|
|
dw 2
|
|
dw 3
|
|
dw 3
|
|
dw 3
|
|
dw 3
|
|
dw 3
|
|
dw 3
|
|
dw 3
|
|
dw 2
|
|
dw 3
|
|
dw 1
|
|
dw 1
|
|
dw 1
|
|
public _yychk
|
|
align 2
|
|
_yychk label byte
|
|
dw -1000
|
|
dw -1
|
|
dw 10
|
|
dw -2
|
|
dw 256
|
|
dw -3
|
|
dw 257
|
|
dw 10
|
|
dw 10
|
|
dw 61
|
|
dw -4
|
|
dw 45
|
|
dw 40
|
|
dw -3
|
|
dw 258
|
|
dw 43
|
|
dw 45
|
|
dw 42
|
|
dw 47
|
|
dw -4
|
|
dw -4
|
|
dw -4
|
|
dw -4
|
|
dw -4
|
|
dw -4
|
|
dw 41
|
|
public _yydef
|
|
align 2
|
|
_yydef label byte
|
|
dw 1
|
|
dw -2
|
|
dw 2
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 14
|
|
dw 3
|
|
dw 4
|
|
dw 0
|
|
dw 5
|
|
dw 0
|
|
dw 0
|
|
dw 12
|
|
dw 13
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 0
|
|
dw 10
|
|
dw 0
|
|
dw 6
|
|
dw 7
|
|
dw 8
|
|
dw 9
|
|
dw 11
|
|
public _yychar
|
|
align 4
|
|
_yychar label byte
|
|
dd -1
|
|
public _yynerrs
|
|
align 4
|
|
_yynerrs label byte
|
|
dd 0
|
|
public _yyerrflag
|
|
align 2
|
|
_yyerrflag label byte
|
|
dw 0
|
|
public _yyparse
|
|
_DATA ends
|
|
_TEXT segment
|
|
_yyparse:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
sub esp,336
|
|
mov word ptr (-8)[ebp],0
|
|
mov dword ptr (_yychar),-1
|
|
mov dword ptr (_yynerrs),0
|
|
mov word ptr (_yyerrflag),0
|
|
lea edi,(-330)[ebp]
|
|
mov dword ptr (-12)[ebp],edi
|
|
lea edi,(_yyv-4)
|
|
mov dword ptr (-20)[ebp],edi
|
|
L161:
|
|
mov edi,dword ptr (-12)[ebp]
|
|
lea edi,(2)[edi]
|
|
mov dword ptr (-12)[ebp],edi
|
|
lea esi,(-30)[ebp]
|
|
cmp edi,esi
|
|
jbe L162
|
|
lea edi,(L165)
|
|
push edi
|
|
call _yyerror
|
|
add esp,4
|
|
mov eax,1
|
|
jmp L158
|
|
L162:
|
|
mov edi,dword ptr (-12)[ebp]
|
|
mov si,word ptr (-8)[ebp]
|
|
mov word ptr [edi],si
|
|
mov edi,dword ptr (-20)[ebp]
|
|
lea edi,(4)[edi]
|
|
mov dword ptr (-20)[ebp],edi
|
|
mov edi,dword ptr (-20)[ebp]
|
|
mov esi,dword ptr (_yyval)
|
|
mov dword ptr [edi],esi
|
|
L166:
|
|
movsx edi,word ptr (-8)[ebp]
|
|
mov di,word ptr (_yypact)[edi*2]
|
|
mov word ptr (-16)[ebp],di
|
|
movsx edi,word ptr (-16)[ebp]
|
|
cmp edi,-1000
|
|
jg L167
|
|
jmp L169
|
|
L167:
|
|
cmp dword ptr (_yychar),0
|
|
jge L170
|
|
call _yylex
|
|
add esp,0
|
|
mov dword ptr (_yychar),eax
|
|
cmp eax,0
|
|
jge L172
|
|
mov dword ptr (_yychar),0
|
|
L172:
|
|
L170:
|
|
movsx edi,word ptr (-16)[ebp]
|
|
mov esi,dword ptr (_yychar)
|
|
lea edi,[esi][edi]
|
|
mov word ptr (-16)[ebp],di
|
|
movsx edi,di
|
|
cmp edi,0
|
|
jl L176
|
|
movsx edi,word ptr (-16)[ebp]
|
|
cmp edi,249
|
|
jl L174
|
|
L176:
|
|
jmp L169
|
|
L174:
|
|
movsx edi,word ptr (-16)[ebp]
|
|
mov di,word ptr (_yyact)[edi*2]
|
|
mov word ptr (-16)[ebp],di
|
|
movsx edi,di
|
|
movsx edi,word ptr (_yychk)[edi*2]
|
|
cmp edi,dword ptr (_yychar)
|
|
jne L177
|
|
mov dword ptr (_yychar),-1
|
|
mov edi,dword ptr (_yylval)
|
|
mov dword ptr (_yyval),edi
|
|
mov di,word ptr (-16)[ebp]
|
|
mov word ptr (-8)[ebp],di
|
|
movsx edi,word ptr (_yyerrflag)
|
|
cmp edi,0
|
|
jle L161
|
|
movsx edi,word ptr (_yyerrflag)
|
|
sub edi,1
|
|
mov word ptr (_yyerrflag),di
|
|
jmp L161
|
|
L177:
|
|
L169:
|
|
movsx edi,word ptr (-8)[ebp]
|
|
mov di,word ptr (_yydef)[edi*2]
|
|
mov word ptr (-16)[ebp],di
|
|
movsx edi,di
|
|
cmp edi,-2
|
|
jne L181
|
|
cmp dword ptr (_yychar),0
|
|
jge L183
|
|
call _yylex
|
|
add esp,0
|
|
mov dword ptr (_yychar),eax
|
|
cmp eax,0
|
|
jge L185
|
|
mov dword ptr (_yychar),0
|
|
L185:
|
|
L183:
|
|
lea edi,(_yyexca)
|
|
mov dword ptr (-24)[ebp],edi
|
|
jmp L190
|
|
L187:
|
|
L188:
|
|
mov edi,dword ptr (-24)[ebp]
|
|
lea edi,(4)[edi]
|
|
mov dword ptr (-24)[ebp],edi
|
|
L190:
|
|
mov edi,dword ptr (-24)[ebp]
|
|
movsx esi,word ptr [edi]
|
|
cmp esi,-1
|
|
jne L187
|
|
movsx edi,word ptr (2)[edi]
|
|
movsx esi,word ptr (-8)[ebp]
|
|
cmp edi,esi
|
|
jne L187
|
|
jmp L192
|
|
L191:
|
|
mov edi,dword ptr (-24)[ebp]
|
|
movsx edi,word ptr [edi]
|
|
cmp edi,dword ptr (_yychar)
|
|
jne L194
|
|
jmp L193
|
|
L194:
|
|
L192:
|
|
mov edi,dword ptr (-24)[ebp]
|
|
lea edi,(4)[edi]
|
|
mov dword ptr (-24)[ebp],edi
|
|
movsx edi,word ptr [edi]
|
|
cmp edi,0
|
|
jge L191
|
|
L193:
|
|
mov edi,dword ptr (-24)[ebp]
|
|
mov di,word ptr (2)[edi]
|
|
mov word ptr (-16)[ebp],di
|
|
movsx edi,di
|
|
cmp edi,0
|
|
jge L196
|
|
mov eax,0
|
|
jmp L158
|
|
L196:
|
|
L181:
|
|
movsx edi,word ptr (-16)[ebp]
|
|
cmp edi,0
|
|
jne L198
|
|
movsx edi,word ptr (_yyerrflag)
|
|
mov dword ptr (-336)[ebp],edi
|
|
mov edi,dword ptr (-336)[ebp]
|
|
cmp edi,0
|
|
jl L200
|
|
cmp edi,3
|
|
jg L200
|
|
jmp dword ptr (L216)[edi*4]
|
|
_TEXT ends
|
|
_TEXT segment
|
|
align 4
|
|
L216 label byte
|
|
dd L203
|
|
dd L206
|
|
dd L206
|
|
dd L213
|
|
_TEXT ends
|
|
_TEXT segment
|
|
L203:
|
|
lea edi,(L204)
|
|
push edi
|
|
call _yyerror
|
|
add esp,4
|
|
L205:
|
|
inc dword ptr (_yynerrs)
|
|
L206:
|
|
mov word ptr (_yyerrflag),3
|
|
jmp L208
|
|
L207:
|
|
mov edi,dword ptr (-12)[ebp]
|
|
movsx edi,word ptr [edi]
|
|
movsx edi,word ptr (_yypact)[edi*2]
|
|
lea edi,(256)[edi]
|
|
mov word ptr (-16)[ebp],di
|
|
movsx edi,word ptr (-16)[ebp]
|
|
cmp edi,0
|
|
jl L210
|
|
cmp edi,249
|
|
jge L210
|
|
movsx edi,word ptr (_yyact)[edi*2]
|
|
movsx edi,word ptr (_yychk)[edi*2]
|
|
cmp edi,256
|
|
jne L210
|
|
movsx edi,word ptr (-16)[ebp]
|
|
mov di,word ptr (_yyact)[edi*2]
|
|
mov word ptr (-8)[ebp],di
|
|
jmp L161
|
|
L210:
|
|
mov edi,dword ptr (-12)[ebp]
|
|
movsx esi,word ptr [edi]
|
|
mov si,word ptr (_yypact)[esi*2]
|
|
mov word ptr (-16)[ebp],si
|
|
lea edi,(-2)[edi]
|
|
mov dword ptr (-12)[ebp],edi
|
|
mov edi,dword ptr (-20)[ebp]
|
|
lea edi,(-4)[edi]
|
|
mov dword ptr (-20)[ebp],edi
|
|
L208:
|
|
mov edi,dword ptr (-12)[ebp]
|
|
lea esi,(-328)[ebp]
|
|
cmp edi,esi
|
|
jae L207
|
|
L212:
|
|
mov eax,1
|
|
jmp L158
|
|
L213:
|
|
cmp dword ptr (_yychar),0
|
|
jne L214
|
|
jmp L212
|
|
L214:
|
|
mov dword ptr (_yychar),-1
|
|
jmp L166
|
|
L200:
|
|
L198:
|
|
mov di,word ptr (-16)[ebp]
|
|
movsx esi,di
|
|
lea esi,[esi*2]
|
|
lea ebx,(_yyr2)[esi]
|
|
mov edx,dword ptr (-12)[ebp]
|
|
movsx ecx,word ptr [ebx]
|
|
lea ecx,[ecx*2]
|
|
sub edx,ecx
|
|
mov dword ptr (-12)[ebp],edx
|
|
mov edx,dword ptr (-20)[ebp]
|
|
mov dword ptr (-4)[ebp],edx
|
|
movsx ebx,word ptr [ebx]
|
|
lea ebx,[ebx*4]
|
|
sub edx,ebx
|
|
mov dword ptr (-20)[ebp],edx
|
|
mov ebx,dword ptr (-20)[ebp]
|
|
mov ebx,dword ptr (4)[ebx]
|
|
mov dword ptr (_yyval),ebx
|
|
mov word ptr (-332)[ebp],di
|
|
mov di,word ptr (_yyr1)[esi]
|
|
mov word ptr (-16)[ebp],di
|
|
movsx edi,word ptr (-16)[ebp]
|
|
movsx edi,word ptr (_yypgo)[edi*2]
|
|
mov esi,dword ptr (-12)[ebp]
|
|
movsx esi,word ptr [esi]
|
|
lea edi,[esi][edi]
|
|
lea edi,(1)[edi]
|
|
mov word ptr (-28)[ebp],di
|
|
movsx edi,word ptr (-28)[ebp]
|
|
cmp edi,249
|
|
jge L219
|
|
mov di,word ptr (_yyact)[edi*2]
|
|
mov word ptr (-8)[ebp],di
|
|
movsx edi,di
|
|
movsx edi,word ptr (_yychk)[edi*2]
|
|
movsx esi,word ptr (-16)[ebp]
|
|
neg esi
|
|
cmp edi,esi
|
|
je L217
|
|
L219:
|
|
movsx edi,word ptr (-16)[ebp]
|
|
movsx edi,word ptr (_yypgo)[edi*2]
|
|
mov di,word ptr (_yyact)[edi*2]
|
|
mov word ptr (-8)[ebp],di
|
|
L217:
|
|
movsx edi,word ptr (-332)[ebp]
|
|
mov dword ptr (-336)[ebp],edi
|
|
mov edi,dword ptr (-336)[ebp]
|
|
cmp edi,4
|
|
jl L161
|
|
cmp edi,14
|
|
jg L161
|
|
jmp dword ptr (L241-16)[edi*4]
|
|
_TEXT ends
|
|
_TEXT segment
|
|
align 4
|
|
L241 label byte
|
|
dd L223
|
|
dd L224
|
|
dd L226
|
|
dd L228
|
|
dd L230
|
|
dd L232
|
|
dd L234
|
|
dd L161
|
|
dd L236
|
|
dd L238
|
|
dd L240
|
|
_TEXT ends
|
|
_TEXT segment
|
|
L223:
|
|
mov word ptr (_yyerrflag),0
|
|
jmp L161
|
|
L224:
|
|
lea edi,(L225)
|
|
push edi
|
|
call _printf
|
|
add esp,4
|
|
jmp L161
|
|
L226:
|
|
lea edi,(L227)
|
|
push edi
|
|
call _printf
|
|
add esp,4
|
|
jmp L161
|
|
L228:
|
|
lea edi,(L229)
|
|
push edi
|
|
call _printf
|
|
add esp,4
|
|
jmp L161
|
|
L230:
|
|
lea edi,(L231)
|
|
push edi
|
|
call _printf
|
|
add esp,4
|
|
jmp L161
|
|
L232:
|
|
lea edi,(L233)
|
|
push edi
|
|
call _printf
|
|
add esp,4
|
|
jmp L161
|
|
L234:
|
|
lea edi,(L235)
|
|
push edi
|
|
call _printf
|
|
add esp,4
|
|
jmp L161
|
|
L236:
|
|
lea edi,(L237)
|
|
push edi
|
|
call _printf
|
|
add esp,4
|
|
jmp L161
|
|
L238:
|
|
lea edi,(_yytext)
|
|
push edi
|
|
lea edi,(L239)
|
|
push edi
|
|
call _printf
|
|
add esp,8
|
|
jmp L161
|
|
L240:
|
|
lea edi,(_yytext)
|
|
push edi
|
|
lea edi,(L157)
|
|
push edi
|
|
call _printf
|
|
add esp,8
|
|
jmp L161
|
|
L158:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
public _yywrap
|
|
_yywrap:
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
push ebp
|
|
mov ebp,esp
|
|
mov eax,1
|
|
L243:
|
|
mov esp,ebp
|
|
pop ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret
|
|
_TEXT ends
|
|
_DATA segment
|
|
public _yyv
|
|
align 4
|
|
_yyv label byte
|
|
db 600 dup (0)
|
|
public _yyfnd
|
|
align 4
|
|
_yyfnd label byte
|
|
db 4 dup (0)
|
|
public _yyolsp
|
|
align 4
|
|
_yyolsp label byte
|
|
db 4 dup (0)
|
|
public _yylsp
|
|
align 4
|
|
_yylsp label byte
|
|
db 4 dup (0)
|
|
public _yylstate
|
|
align 4
|
|
_yylstate label byte
|
|
db 800 dup (0)
|
|
public _yyestate
|
|
align 4
|
|
_yyestate label byte
|
|
db 4 dup (0)
|
|
public _yytchar
|
|
align 4
|
|
_yytchar label byte
|
|
db 4 dup (0)
|
|
public _yysbuf
|
|
align 1
|
|
_yysbuf label byte
|
|
db 200 dup (0)
|
|
public _yymorfg
|
|
align 4
|
|
_yymorfg label byte
|
|
db 4 dup (0)
|
|
public _yytext
|
|
align 1
|
|
_yytext label byte
|
|
db 200 dup (0)
|
|
public _yyleng
|
|
align 4
|
|
_yyleng label byte
|
|
db 4 dup (0)
|
|
_DATA ends
|
|
extrn _printf:near
|
|
_DATA segment
|
|
_DATA ends
|
|
extrn _fprintf:near
|
|
_DATA segment
|
|
_DATA ends
|
|
extrn __flsbuf:near
|
|
_DATA segment
|
|
_DATA ends
|
|
extrn __filbuf:near
|
|
_DATA segment
|
|
_DATA ends
|
|
extrn __iob:near
|
|
_DATA segment
|
|
public _yyval
|
|
align 4
|
|
_yyval label byte
|
|
db 4 dup (0)
|
|
public _yylval
|
|
align 4
|
|
_yylval label byte
|
|
db 4 dup (0)
|
|
_DATA ends
|
|
_TEXT segment
|
|
align 1
|
|
L239 label byte
|
|
db 112
|
|
db 117
|
|
db 115
|
|
db 104
|
|
db 32
|
|
db 37
|
|
db 115
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L237 label byte
|
|
db 108
|
|
db 111
|
|
db 97
|
|
db 100
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L235 label byte
|
|
db 110
|
|
db 101
|
|
db 103
|
|
db 97
|
|
db 116
|
|
db 101
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L233 label byte
|
|
db 100
|
|
db 105
|
|
db 118
|
|
db 105
|
|
db 100
|
|
db 101
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L231 label byte
|
|
db 109
|
|
db 117
|
|
db 108
|
|
db 116
|
|
db 105
|
|
db 112
|
|
db 108
|
|
db 121
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L229 label byte
|
|
db 110
|
|
db 101
|
|
db 103
|
|
db 97
|
|
db 116
|
|
db 101
|
|
db 10
|
|
db 97
|
|
db 100
|
|
db 100
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L227 label byte
|
|
db 97
|
|
db 100
|
|
db 100
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L225 label byte
|
|
db 115
|
|
db 116
|
|
db 111
|
|
db 114
|
|
db 101
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L204 label byte
|
|
db 115
|
|
db 121
|
|
db 110
|
|
db 116
|
|
db 97
|
|
db 120
|
|
db 32
|
|
db 101
|
|
db 114
|
|
db 114
|
|
db 111
|
|
db 114
|
|
db 0
|
|
align 1
|
|
L165 label byte
|
|
db 121
|
|
db 97
|
|
db 99
|
|
db 99
|
|
db 32
|
|
db 115
|
|
db 116
|
|
db 97
|
|
db 99
|
|
db 107
|
|
db 32
|
|
db 111
|
|
db 118
|
|
db 101
|
|
db 114
|
|
db 102
|
|
db 108
|
|
db 111
|
|
db 119
|
|
db 0
|
|
align 1
|
|
L157 label byte
|
|
db 37
|
|
db 115
|
|
db 10
|
|
db 0
|
|
align 1
|
|
L16 label byte
|
|
db 98
|
|
db 97
|
|
db 100
|
|
db 32
|
|
db 115
|
|
db 119
|
|
db 105
|
|
db 116
|
|
db 99
|
|
db 104
|
|
db 32
|
|
db 121
|
|
db 121
|
|
db 108
|
|
db 111
|
|
db 111
|
|
db 107
|
|
db 32
|
|
db 37
|
|
db 100
|
|
db 0
|
|
_TEXT ends
|
|
end
|