⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yacc.sbk

📁 LCC的源码,大家可以研究哈,我的QQ:22941821 一起交流
💻 SBK
📖 第 1 页 / 共 2 页
字号:
.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]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -