📄 cc3.asm
字号:
_constexp:
PUSH EBP
MOV EBP,ESP
ADD ESP,-12
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP-12]
PUSH EAX
MOV CL,2
CALL _setstage
ADD ESP,8
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _expressi
ADD ESP,8
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,2
CALL _clearsta
ADD ESP,8
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _3_3
JMP _3_2
_3_3:
MOV EAX,_3_1+0
PUSH EAX
MOV CL,1
CALL _error
ADD ESP,4
_3_2:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_3_1 DB 109,117,115,116,32,98,101,32,99,111
DB 110,115,116,97,110,116,32,101,120,112
DB 114,101,115,115,105,111,110,0
_null_is:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
LEA EAX,[EBP-4]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_3_7:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,7
CALL __lt
OR EAX,EAX
JNE _3_9
JMP _3_6
_3_9:
JMP _3_8
_3_5:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _3_7
_3_8:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
JMP _3_5
_3_6:
MOV ESP,EBP
POP EBP
RET
_expressi:
PUSH EBP
MOV EBP,ESP
ADD ESP,-32
LEA EAX,[EBP-32]
PUSH EAX
MOV CL,1
CALL _null_is
ADD ESP,4
LEA EAX,[EBP-32]
PUSH EAX
MOV CL,1
CALL _level1
ADD ESP,4
OR EAX,EAX
JNE _3_12
JMP _3_11
_3_12:
LEA EAX,[EBP-32]
PUSH EAX
MOV CL,1
CALL _fetch
ADD ESP,4
_3_11:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-32]
MOV EBX,12
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-32]
MOV EBX,16
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
MOV ESP,EBP
POP EBP
RET
_test:
PUSH EBP
MOV EBP,ESP
ADD ESP,-36
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,1
CALL _null_is
ADD ESP,4
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_15
JMP _3_14
_3_15:
MOV EAX,_3_13+0
PUSH EAX
MOV CL,1
CALL _need
ADD ESP,4
_3_14:
_3_16:
LEA EAX,[EBP-32]
PUSH EAX
LEA EAX,[EBP-36]
PUSH EAX
MOV CL,2
CALL _setstage
ADD ESP,8
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,1
CALL _level1
ADD ESP,4
OR EAX,EAX
JNE _3_19
JMP _3_18
_3_19:
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,1
CALL _fetch
ADD ESP,4
_3_18:
MOV EAX,_3_13+2
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_21
JMP _3_20
_3_21:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-36]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _clearsta
ADD ESP,8
JMP _3_22
_3_20:
JMP _3_17
_3_22:
JMP _3_16
_3_17:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_24
JMP _3_23
_3_24:
MOV EAX,_3_13+4
PUSH EAX
MOV CL,1
CALL _need
ADD ESP,4
_3_23:
LEA EAX,[EBP-28]
MOV EBX,12
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_26
JMP _3_25
_3_26:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,2
CALL _clearsta
ADD ESP,8
LEA EAX,[EBP-28]
MOV EBX,16
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_28
JMP _3_27
_3_28:
MOV ESP,EBP
POP EBP
RET
_3_27:
MOV EAX,40
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
MOV ESP,EBP
POP EBP
RET
_3_25:
LEA EAX,[EBP-28]
MOV EBX,24
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_30
JMP _3_29
_3_30:
LEA EAX,[EBP-28]
MOV EBX,20
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
JMP _3_33
_3_34:
_3_35:
MOV EAX,19
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,3
CALL _zerojump
ADD ESP,12
JMP _3_32
_3_36:
_3_37:
MOV EAX,54
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,3
CALL _zerojump
ADD ESP,12
JMP _3_32
_3_38:
MOV EAX,34
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,3
CALL _zerojump
ADD ESP,12
JMP _3_32
_3_39:
MOV EAX,21
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,3
CALL _zerojump
ADD ESP,12
JMP _3_32
_3_40:
LEA EAX,[EBP-28]
MOV EBX,24
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,2
CALL _clearsta
ADD ESP,8
JMP _3_32
_3_41:
MOV EAX,46
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,3
CALL _zerojump
ADD ESP,12
JMP _3_32
_3_42:
MOV EAX,40
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,3
CALL _zerojump
ADD ESP,12
JMP _3_32
_3_43:
MOV EAX,42
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,3
CALL _zerojump
ADD ESP,12
JMP _3_32
_3_44:
MOV EAX,54
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
JMP _3_32
JMP _3_32
_3_33:
CALL __switch
DD _3_34
DD 20
DD _3_35
DD 44
DD _3_36
DD 55
DD _3_37
DD 36
DD _3_38
DD 35
DD _3_39
DD 22
DD _3_40
DD 23
DD _3_41
DD 47
DD _3_42
DD 48
DD _3_43
DD 43
DD 0
JMP _3_44
_3_32:
JMP _3_45
_3_29:
MOV EAX,54
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
_3_45:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-36]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _clearsta
ADD ESP,8
MOV ESP,EBP
POP EBP
RET
_3_13 DB 40,0,44,0,41,0
_zerojump:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,24
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,2
CALL _clearsta
ADD ESP,8
LEA EAX,[EBP+16]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
POP EBP
RET
_level1:
PUSH EBP
MOV EBP,ESP
ADD ESP,-48
LEA EAX,[EBP-32]
PUSH EAX
MOV CL,1
CALL _null_is
ADD ESP,4
LEA EAX,[EBP-40]
PUSH EAX
MOV CL,1
CALL _null_is
ADD ESP,4
LEA EAX,[EBP-4]
PUSH EAX
MOV EAX,_level2
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _down1
ADD ESP,8
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,12
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_49
JMP _3_48
_3_49:
MOV EAX,108
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,16
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
_3_48:
MOV EAX,_3_47+0
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_51
JMP _3_50
_3_51:
LEA EAX,[EBP-44]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,57
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
JMP _3_52
_3_50:
MOV EAX,_3_47+3
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_54
JMP _3_53
_3_54:
LEA EAX,[EBP-44]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,73
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
JMP _3_55
_3_53:
MOV EAX,_3_47+6
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_57
JMP _3_56
_3_57:
LEA EAX,[EBP-44]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,3
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
JMP _3_58
_3_56:
MOV EAX,_3_47+9
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_60
JMP _3_59
_3_60:
LEA EAX,[EBP-44]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
JMP _3_61
_3_59:
MOV EAX,_3_47+12
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_63
JMP _3_62
_3_63:
LEA EAX,[EBP-44]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,69
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
JMP _3_64
_3_62:
MOV EAX,_3_47+15
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_66
JMP _3_65
_3_66:
LEA EAX,[EBP-44]
MOV EBX,EAX
MOV EAX,52
MOV [EBX],EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,53
MOV [EBX],EAX
JMP _3_67
_3_65:
MOV EAX,_3_47+18
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_69
JMP _3_68
_3_69:
LEA EAX,[EBP-44]
MOV EBX,EAX
MOV EAX,16
MOV [EBX],EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,17
MOV [EBX],EAX
JMP _3_70
_3_68:
MOV EAX,_3_47+21
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_72
JMP _3_71
_3_72:
LEA EAX,[EBP-44]
MOV EBX,EAX
MOV EAX,49
MOV [EBX],EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,50
MOV [EBX],EAX
JMP _3_73
_3_71:
MOV EAX,_3_47+24
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_75
JMP _3_74
_3_75:
LEA EAX,[EBP-44]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,7
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
JMP _3_76
_3_74:
MOV EAX,_3_47+28
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_78
JMP _3_77
_3_78:
LEA EAX,[EBP-44]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX,6
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
JMP _3_79
_3_77:
MOV EAX,_3_47+32
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JNE _3_81
JMP _3_80
_3_81:
LEA EAX,[EBP-44]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
JMP _3_82
_3_80:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_3_82:
_3_79:
_3_76:
_3_73:
_3_70:
_3_67:
_3_64:
_3_61:
_3_58:
_3_55:
_3_52:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _3_84
JMP _3_83
_3_84:
XOR CL,CL
CALL _needlval
XOR EAX,EAX
MOV ESP,EBP
POP EBP
RET
_3_83:
LEA EAX,[EBP-40]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-40]
MOV EBX,4
ADD EAX,EBX
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,4
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,4
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_86
JMP _3_85
_3_86:
LEA EAX,[EBP-44]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_88
JMP _3_87
_3_88:
MOV EAX,60
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _fetch
ADD ESP,4
_3_87:
LEA EAX,[EBP-44]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,_level1
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-32]
PUSH EAX
MOV CL,5
CALL _down2
ADD ESP,20
LEA EAX,[EBP-44]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_90
JMP _3_89
_3_90:
MOV EAX,59
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
_3_89:
JMP _3_91
_3_85:
LEA EAX,[EBP-44]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_93
JMP _3_92
_3_93:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _fetch
ADD ESP,4
LEA EAX,[EBP-44]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-48]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,_level1
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-32]
PUSH EAX
MOV CL,5
CALL _down2
ADD ESP,20
JMP _3_94
_3_92:
LEA EAX,[EBP-32]
PUSH EAX
MOV CL,1
CALL _level1
ADD ESP,4
OR EAX,EAX
JNE _3_96
JMP _3_95
_3_96:
LEA EAX,[EBP-32]
PUSH EAX
MOV CL,1
CALL _fetch
ADD ESP,4
_3_95:
_3_94:
_3_91:
LEA EAX,[EBP-40]
PUSH EAX
MOV CL,1
CALL _store
ADD ESP,4
XOR EAX,EAX
MOV ESP,EBP
POP EBP
RET
_3_47 DB 124,61,0,94,61,0,38,61,0,43
DB 61,0,45,61,0,42,61,0,47,61
DB 0,37,61,0,62,62,61,0,60,60
DB 61,0,61,0
_level2:
PUSH EBP
MOV EBP,ESP
ADD ESP,-76
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,1
CALL _null_is
ADD ESP,4
LEA EAX,[EBP-56]
PUSH EAX
MOV CL,1
CALL _null_is
ADD ESP,4
LEA EAX,[EBP-60]
PUSH EAX
MOV EAX,_level3
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _down1
ADD ESP,8
POP EBX
MOV [EBX],EAX
MOV EAX,_3_97+0
PUSH EAX
MOV CL,1
CALL _match
ADD ESP,4
OR EAX,EAX
JE _3_99
JMP _3_98
_3_99:
LEA EAX,[EBP-60]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_3_98:
LEA EAX,[EBP-60]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,54
PUSH EAX
LEA EAX,[EBP-64]
PUSH EAX
XOR CL,CL
CALL _getlabel
POP EBX
MOV [EBX],EAX
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,4
CALL _dropout
ADD ESP,16
MOV EAX,_level2
PUSH EAX
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,2
CALL _down1
ADD ESP,8
OR EAX,EAX
JNE _3_101
JMP _3_100
_3_101:
LEA EAX,[EBP-28]
PUSH EAX
MOV CL,1
CALL _fetch
ADD ESP,4
JMP _3_102
_3_100:
LEA EAX,[EBP-28]
MOV EBX,12
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _3_104
JMP _3_103
_3_104:
MOV EAX,108
PUSH EAX
LEA EAX,[EBP-28]
MOV EBX,16
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
_3_103:
_3_102:
MOV EAX,_3_97+2
PUSH EAX
MOV CL,1
CALL _need
ADD ESP,4
MOV EAX,40
PUSH EAX
LEA EAX,[EBP-68]
PUSH EAX
XOR CL,CL
CALL _getlabel
POP EBX
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -