URL
https://opencores.org/ocsvn/eco32/eco32/trunk
Subversion Repositories eco32
[/] [eco32/] [tags/] [eco32-0.22/] [lcc/] [x86/] [win32/] [tst/] [yacc.sbk] - Rev 21
Compare with Previous | Blame | View Log
.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