ioef/code/tools/lcc/x86/win32/tst/yacc.sbk
2005-10-04 15:18:22 +00:00

2489 lines
29 KiB
Text

.486
.model flat
extrn __fltused:near
extrn __ftol:near
_DATA segment
public _yyin
align 4
_yyin label byte
dd __iob
public _yyout
align 4
_yyout label byte
dd __iob+32
public _yylex
_DATA ends
_TEXT segment
_yylex:
push ebx
push esi
push edi
push ebp
mov ebp,esp
sub esp,4
jmp L4
L3:
L6:
mov edi,dword ptr (-4)[ebp]
cmp edi,-1
jl L7
cmp edi,4
jg L7
jmp dword ptr (L18+4)[edi*4]
_TEXT ends
_TEXT segment
align 4
L18 label byte
dd L8
dd L9
dd L12
dd L13
dd L8
dd L15
_TEXT ends
_TEXT segment
L9:
call _yywrap
add esp,0
cmp eax,0
je L8
mov eax,0
jmp L2
L12:
mov eax,257
jmp L2
L13:
mov eax,258
jmp L2
L15:
movsx eax,byte ptr (_yytext)
jmp L2
L7:
mov edi,dword ptr (-4)[ebp]
push edi
lea edi,(L17)
push edi
mov edi,dword ptr (_yyout)
push edi
call _fprintf
add esp,12
L8:
L4:
call _yylook
add esp,0
mov dword ptr (-4)[ebp],eax
cmp eax,0
jge L3
mov eax,0
L2:
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 4
_yycrank label byte
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 1
db 3
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 1
db 4
db 2 dup (0)
db 1
db 3
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 1
db 5
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 5
db 7
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 1
db 6
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 6
db 8
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
db 0
db 0
db 2 dup (0)
public _yysvec
align 4
_yysvec label byte
dd 00H
dd 00H
dd 00H
dd _yycrank-4
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+8
dd 00H
dd _yyvstop+24
dd _yycrank+76
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+564
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 L35
lea edi,(_yytext)
mov dword ptr (-16)[ebp],edi
jmp L36
L35:
mov dword ptr (_yymorfg),0
mov edi,dword ptr (_yyleng)
lea edi,(_yytext)[edi]
mov dword ptr (-16)[ebp],edi
L36:
L37:
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 L41
mov edi,dword ptr (-4)[ebp]
lea edi,(12)[edi]
mov dword ptr (-4)[ebp],edi
L41:
L43:
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 L47
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 L49
jmp L94
L49:
mov edi,dword ptr (-28)[ebp]
mov edi,dword ptr [edi]
lea esi,(_yycrank)
cmp edi,esi
jne L51
jmp L94
L51:
L47:
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 L61
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 L62
L61:
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 L63
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 L64
L63:
mov esi,dword ptr (_yyin)
push esi
call __filbuf
add esp,4
mov esi,eax
mov dword ptr (-44)[ebp],esi
L64:
mov esi,dword ptr (-44)[ebp]
mov dword ptr (-40)[ebp],esi
L62:
mov esi,dword ptr (-40)[ebp]
mov dword ptr (_yytchar),esi
cmp esi,10
jne L59
inc dword ptr (_yylineno)
mov esi,dword ptr (_yytchar)
mov dword ptr (-36)[ebp],esi
jmp L60
L59:
mov esi,dword ptr (_yytchar)
mov dword ptr (-36)[ebp],esi
L60:
cmp dword ptr (-36)[ebp],-1
jne L57
mov dword ptr (-32)[ebp],0
jmp L58
L57:
mov esi,dword ptr (_yytchar)
mov dword ptr (-32)[ebp],esi
L58:
mov esi,dword ptr (-32)[ebp]
mov dword ptr (-20)[ebp],esi
mov ebx,esi
mov byte ptr [edi],bl
L65:
mov edi,dword ptr (-12)[ebp]
mov dword ptr (-24)[ebp],edi
lea esi,(_yycrank)
cmp edi,esi
jbe L66
mov edi,dword ptr (-20)[ebp]
mov esi,dword ptr (-24)[ebp]
lea edi,[esi][edi*4]
mov dword ptr (-12)[ebp],edi
mov edi,dword ptr (-12)[ebp]
mov esi,edi
mov ebx,dword ptr (_yytop)
cmp esi,ebx
ja L67
movsx edi,byte ptr [edi]
imul edi,edi,12
lea edi,(_yysvec)[edi]
mov esi,dword ptr (-4)[ebp]
cmp edi,esi
jne L67
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 L70
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 L72
dec dword ptr (_yylineno)
L72:
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 L94
L70:
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 L43
L66:
mov edi,dword ptr (-12)[ebp]
lea esi,(_yycrank)
cmp edi,esi
jae L75
lea edi,(_yycrank)
mov esi,dword ptr (-12)[ebp]
sub edi,esi
mov eax,edi
mov edi,4
cdq
idiv edi
lea edi,(_yycrank)[eax*4]
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*4]
mov dword ptr (-12)[ebp],edi
mov edi,dword ptr (-12)[ebp]
mov esi,edi
mov ebx,dword ptr (_yytop)
cmp esi,ebx
ja L77
movsx edi,byte ptr [edi]
imul edi,edi,12
lea edi,(_yysvec)[edi]
mov esi,dword ptr (-4)[ebp]
cmp edi,esi
jne L77
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 L79
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 L81
dec dword ptr (_yylineno)
L81:
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 L94
L79:
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 L43
L77:
mov edi,dword ptr (-20)[ebp]
movsx edi,byte ptr (_yymatch)[edi]
mov esi,dword ptr (-24)[ebp]
lea edi,[esi][edi*4]
mov dword ptr (-12)[ebp],edi
mov edi,dword ptr (-12)[ebp]
mov esi,edi
mov ebx,dword ptr (_yytop)
cmp esi,ebx
ja L83
movsx edi,byte ptr [edi]
imul edi,edi,12
lea edi,(_yysvec)[edi]
mov esi,dword ptr (-4)[ebp]
cmp edi,esi
jne L83
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 L85
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 L87
dec dword ptr (_yylineno)
L87:
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 L94
L85:
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 L43
L83:
L75:
L67:
mov edi,dword ptr (-4)[ebp]
mov edi,dword ptr (4)[edi]
mov dword ptr (-4)[ebp],edi
cmp edi,0
je L89
mov edi,dword ptr (-4)[ebp]
mov edi,dword ptr [edi]
mov dword ptr (-12)[ebp],edi
lea esi,(_yycrank)
cmp edi,esi
je L89
jmp L65
L89:
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 L91
dec dword ptr (_yylineno)
L91:
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 L94
L93:
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 L96
mov edi,dword ptr (8)[edi]
mov dword ptr (_yyfnd),edi
cmp edi,0
je L96
mov edi,dword ptr (_yyfnd)
cmp dword ptr [edi],0
jle L96
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 L98
jmp L101
L100:
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 L103
dec dword ptr (_yylineno)
L103:
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
L101:
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 L105
mov edi,dword ptr (-8)[ebp]
lea esi,(_yylstate)
cmp edi,esi
ja L100
L105:
L98:
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 L34
L96:
mov edi,dword ptr (-16)[ebp]
movsx edi,byte ptr [edi]
mov dword ptr (_yytchar),edi
cmp dword ptr (_yytchar),10
jne L106
dec dword ptr (_yylineno)
L106:
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
L94:
mov edi,dword ptr (-8)[ebp]
lea esi,(-4)[edi]
mov dword ptr (-8)[ebp],esi
lea esi,(_yylstate)
cmp edi,esi
ja L93
movsx edi,byte ptr (_yytext)
cmp edi,0
jne L108
lea edi,(_yysbuf)
mov dword ptr (_yysptr),edi
mov eax,0
jmp L34
L108:
mov edi,dword ptr (_yysptr)
lea esi,(_yysbuf)
cmp edi,esi
jbe L118
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 L119
L118:
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 L120
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 L121
L120:
mov edi,dword ptr (_yyin)
push edi
call __filbuf
add esp,4
mov edi,eax
mov dword ptr (-44)[ebp],edi
L121:
mov edi,dword ptr (-44)[ebp]
mov dword ptr (-40)[ebp],edi
L119:
mov edi,dword ptr (-40)[ebp]
mov dword ptr (_yytchar),edi
cmp edi,10
jne L116
inc dword ptr (_yylineno)
mov edi,dword ptr (_yytchar)
mov dword ptr (-36)[ebp],edi
jmp L117
L116:
mov edi,dword ptr (_yytchar)
mov dword ptr (-36)[ebp],edi
L117:
cmp dword ptr (-36)[ebp],-1
jne L114
mov dword ptr (-32)[ebp],0
jmp L115
L114:
mov edi,dword ptr (_yytchar)
mov dword ptr (-32)[ebp],edi
L115:
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 L122
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 L125
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 L126
L125:
mov edi,dword ptr (_yyout)
push edi
mov edi,dword ptr (_yyprevious)
push edi
call __flsbuf
add esp,8
L126:
L122:
lea edi,(_yytext)
mov dword ptr (-16)[ebp],edi
jmp L37
L34:
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 L131
mov eax,0
jmp L127
L130:
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 L133
mov eax,1
jmp L127
L133:
L131:
mov edi,dword ptr (20)[ebp]
cmp dword ptr [edi],0
jne L130
mov eax,0
L127:
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 L144
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 L145
L144:
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 L146
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 L147
L146:
mov edi,dword ptr (_yyin)
push edi
call __filbuf
add esp,4
mov edi,eax
mov dword ptr (-16)[ebp],edi
L147:
mov edi,dword ptr (-16)[ebp]
mov dword ptr (-12)[ebp],edi
L145:
mov edi,dword ptr (-12)[ebp]
mov dword ptr (_yytchar),edi
cmp edi,10
jne L142
inc dword ptr (_yylineno)
mov edi,dword ptr (_yytchar)
mov dword ptr (-8)[ebp],edi
jmp L143
L142:
mov edi,dword ptr (_yytchar)
mov dword ptr (-8)[ebp],edi
L143:
cmp dword ptr (-8)[ebp],-1
jne L140
mov dword ptr (-4)[ebp],0
jmp L141
L140:
mov edi,dword ptr (_yytchar)
mov dword ptr (-4)[ebp],edi
L141:
mov eax,dword ptr (-4)[ebp]
L135:
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 L150
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 L151
L150:
mov edi,dword ptr (_yyout)
push edi
mov edi,dword ptr (20)[ebp]
push edi
call __flsbuf
add esp,8
L151:
mov eax,0
L148:
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 L153
dec dword ptr (_yylineno)
L153:
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
L152:
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
call _yyparse
add esp,0
mov eax,0
L155:
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,332
mov word ptr (-6)[ebp],0
mov dword ptr (_yychar),-1
mov dword ptr (_yynerrs),0
mov word ptr (_yyerrflag),0
lea edi,(-328)[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,(-26)[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 (-6)[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 (-6)[ebp]
mov di,word ptr (_yypact)[edi*2]
mov word ptr (-14)[ebp],di
movsx edi,word ptr (-14)[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 (-14)[ebp]
mov esi,dword ptr (_yychar)
lea edi,[esi][edi]
mov word ptr (-14)[ebp],di
movsx edi,di
cmp edi,0
jl L176
movsx edi,word ptr (-14)[ebp]
cmp edi,249
jl L174
L176:
jmp L169
L174:
movsx edi,word ptr (-14)[ebp]
mov di,word ptr (_yyact)[edi*2]
mov word ptr (-14)[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 (-14)[ebp]
mov word ptr (-6)[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 (-6)[ebp]
mov di,word ptr (_yydef)[edi*2]
mov word ptr (-14)[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 (-6)[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 (-14)[ebp],di
movsx edi,di
cmp edi,0
jge L196
mov eax,0
jmp L158
L196:
L181:
movsx edi,word ptr (-14)[ebp]
cmp edi,0
jne L198
movsx edi,word ptr (_yyerrflag)
mov dword ptr (-332)[ebp],edi
mov edi,dword ptr (-332)[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 (-14)[ebp],di
movsx edi,word ptr (-14)[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 (-14)[ebp]
mov di,word ptr (_yyact)[edi*2]
mov word ptr (-6)[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 (-14)[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,(-326)[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 (-14)[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 (-328)[ebp],di
mov di,word ptr (_yyr1)[esi]
mov word ptr (-14)[ebp],di
movsx edi,word ptr (-14)[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 (-26)[ebp],di
movsx edi,word ptr (-26)[ebp]
cmp edi,249
jge L219
mov di,word ptr (_yyact)[edi*2]
mov word ptr (-6)[ebp],di
movsx edi,di
movsx edi,word ptr (_yychk)[edi*2]
movsx esi,word ptr (-14)[ebp]
neg esi
cmp edi,esi
je L217
L219:
movsx edi,word ptr (-14)[ebp]
movsx edi,word ptr (_yypgo)[edi*2]
mov di,word ptr (_yyact)[edi*2]
mov word ptr (-6)[ebp],di
L217:
movsx edi,word ptr (-328)[ebp]
mov dword ptr (-332)[ebp],edi
mov edi,dword ptr (-332)[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
L17 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