📄 cc4.asm
字号:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,4
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
MOV ECX,EAX
MOV EAX,EBX
SAR EAX,CL
POP EBX
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
OR EAX,EAX
JL _4_195
JMP _4_194
_4_195:
XOR EAX,EAX
MOV ESP,EBP
POP EBP
RET
_4_194:
JMP _4_196
_4_192:
LEA EAX,[EBP-4]
PUSH EAX
MOV EAX,_code
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,64
AND EAX,EBX
OR EAX,EAX
JNE _4_198
JMP _4_197
_4_198:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
_4_197:
_4_196:
_4_191:
LEA EAX,[EBP+8]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,8
ADD EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _4_182
_4_183:
MOV ESP,EBP
POP EBP
RET
_colon:
PUSH EBP
MOV EBP,ESP
MOV EAX,58
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
POP EBP
RET
_newline:
PUSH EBP
MOV EBP,ESP
MOV EAX,13
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
MOV EAX,10
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
POP EBP
RET
_outcode:
PUSH EBP
MOV EBP,ESP
ADD ESP,-28
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP-24]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP-16]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP-20]
PUSH EAX
MOV EAX,_code
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
SHL EAX,1
SHL EAX,1
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,1
ADD EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,74
CALL __eq
OR EAX,EAX
JNE _4_203
JMP _4_202
_4_203:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _4_205
JMP _4_204
_4_205:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX,104
MOV [EBX],EAX
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
_4_204:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,128
CALL __lt
OR EAX,EAX
JNE _4_207
JMP _4_206
_4_207:
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
_4_206:
_4_202:
_4_208:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _4_210
JMP _4_209
_4_210:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,60
CALL __eq
OR EAX,EAX
JNE _4_212
JMP _4_211
_4_212:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _4_214
JMP _4_213
_4_214:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
JMP _4_217
_4_218:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,11
ADD EAX,EBX
PUSH EAX
MOV CL,1
CALL _outname
ADD ESP,4
JMP _4_216
_4_219:
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _4_221
JMP _4_220
_4_221:
MOV EAX,_4_201+0
PUSH EAX
MOV CL,1
CALL _outstr
ADD ESP,4
_4_220:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _outdec
ADD ESP,4
JMP _4_216
_4_222:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _offset
ADD ESP,4
JMP _4_216
_4_223:
MOV EAX,[_litlab]
PUSH EAX
MOV CL,1
CALL _outdec
ADD ESP,4
JMP _4_216
_4_224:
LEA EAX,[EBP-28]
PUSH EAX
XOR CL,CL
CALL _getlabel
POP EBX
MOV [EBX],EAX
JMP _4_216
_4_225:
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _outdec
ADD ESP,4
JMP _4_216
JMP _4_216
_4_217:
CALL __switch
DD _4_218
DD 109
DD _4_219
DD 110
DD _4_222
DD 111
DD _4_223
DD 108
DD _4_224
DD 103
DD _4_225
DD 100
DD 0
_4_216:
_4_213:
LEA EAX,[EBP-20]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,2
ADD EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _4_226
_4_211:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,63
CALL __eq
OR EAX,EAX
JNE _4_228
JMP _4_227
_4_228:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _4_231
_4_232:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _4_234
JMP _4_233
_4_234:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
_4_233:
JMP _4_230
_4_235:
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
CALL __lneg
POP EBX
MOV [EBX],EAX
JMP _4_230
_4_236:
LEA EAX,[EBP-4]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP-8]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
JMP _4_230
JMP _4_230
_4_231:
CALL __switch
DD _4_232
DD 1
DD _4_235
DD 2
DD _4_236
DD 3
DD 0
_4_230:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _4_237
_4_227:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,35
CALL __eq
OR EAX,EAX
JNE _4_239
JMP _4_238
_4_239:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
LEA EAX,[EBP-24]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _4_241
JMP _4_240
_4_241:
LEA EAX,[EBP-12]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
MOV EBX,EAX
MOV EAX,1
CALL __lt
OR EAX,EAX
JNE _4_243
JMP _4_242
_4_243:
_4_244:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _4_248
JMP _4_246
_4_248:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,35
CALL __ne
OR EAX,EAX
JNE _4_249
JMP _4_246
_4_249:
MOV EAX,1
JMP _4_247
_4_246:
XOR EAX,EAX
_4_247:
OR EAX,EAX
JNE _4_250
JMP _4_245
_4_250:
JMP _4_244
_4_245:
JMP _4_208
_4_242:
LEA EAX,[EBP-24]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
JMP _4_208
_4_240:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
OR EAX,EAX
JG _4_252
JMP _4_251
_4_252:
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP-24]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
JMP _4_253
_4_251:
LEA EAX,[EBP-24]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_4_253:
JMP _4_254
_4_238:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _4_256
JMP _4_255
_4_256:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
JMP _4_257
_4_255:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
_4_257:
_4_254:
_4_237:
_4_226:
JMP _4_208
_4_209:
MOV ESP,EBP
POP EBP
RET
_4_201 DB 66,89,84,69,32,0
_outdec:
PUSH EBP
MOV EBP,ESP
ADD ESP,-20
LEA EAX,[EBP-8]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX,1000000000
MOV [EBX],EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _4_260
JMP _4_259
_4_260:
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
MOV EAX,45
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
_4_259:
_4_261:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
CALL __ge
OR EAX,EAX
JNE _4_263
JMP _4_262
_4_263:
LEA EAX,[EBP-16]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
_4_264:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __uge
OR EAX,EAX
JNE _4_266
JMP _4_265
_4_266:
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _4_264
_4_265:
LEA EAX,[EBP-12]
PUSH EAX
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,48
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP-12]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,48
CALL __ne
OR EAX,EAX
JE _4_270
JMP _4_268
_4_270:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
CALL __eq
OR EAX,EAX
JE _4_271
JMP _4_268
_4_271:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _4_272
JMP _4_268
_4_272:
XOR EAX,EAX
JMP _4_269
_4_268:
MOV EAX,1
_4_269:
OR EAX,EAX
JNE _4_273
JMP _4_267
_4_273:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
LEA EAX,[EBP-12]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
_4_267:
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
XCHG EAX,EBX
CDQ
IDIV EBX
POP EBX
MOV [EBX],EAX
JMP _4_261
_4_262:
MOV ESP,EBP
POP EBP
RET
_offset:
PUSH EBP
MOV EBP,ESP
ADD ESP,-20
LEA EAX,[EBP-8]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX,1000000000
MOV [EBX],EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _4_276
JMP _4_275
_4_276:
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
MOV EAX,45
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
JMP _4_277
_4_275:
MOV EAX,43
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
_4_277:
_4_278:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
CALL __ge
OR EAX,EAX
JNE _4_280
JMP _4_279
_4_280:
LEA EAX,[EBP-16]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
_4_281:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __uge
OR EAX,EAX
JNE _4_283
JMP _4_282
_4_283:
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _4_281
_4_282:
LEA EAX,[EBP-12]
PUSH EAX
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,48
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP-12]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,48
CALL __ne
OR EAX,EAX
JE _4_287
JMP _4_285
_4_287:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
CALL __eq
OR EAX,EAX
JE _4_288
JMP _4_285
_4_288:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JE _4_289
JMP _4_285
_4_289:
XOR EAX,EAX
JMP _4_286
_4_285:
MOV EAX,1
_4_286:
OR EAX,EAX
JNE _4_290
JMP _4_284
_4_290:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
LEA EAX,[EBP-12]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
_4_284:
LEA EAX,[EBP+8]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
XCHG EAX,EBX
CDQ
IDIV EBX
POP EBX
MOV [EBX],EAX
JMP _4_278
_4_279:
MOV ESP,EBP
POP EBP
RET
_outline:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _outstr
ADD ESP,4
XOR CL,CL
CALL _newline
POP EBP
RET
_outname:
PUSH EBP
MOV EBP,ESP
MOV EAX,_4_292+0
PUSH EAX
MOV CL,1
CALL _outstr
ADD ESP,4
_4_293:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,32
CALL __ge
OR EAX,EAX
JNE _4_295
JMP _4_294
_4_295:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
JMP _4_293
_4_294:
POP EBP
RET
_4_292 DB 95,0
_outstr:
PUSH EBP
MOV EBP,ESP
_4_297:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,9
CALL __eq
OR EAX,EAX
JE _4_301
JMP _4_299
_4_301:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,32
CALL __ge
OR EAX,EAX
JE _4_302
JMP _4_299
_4_302:
XOR EAX,EAX
JMP _4_300
_4_299:
MOV EAX,1
_4_300:
OR EAX,EAX
JNE _4_303
JMP _4_298
_4_303:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
JMP _4_297
_4_298:
POP EBP
RET
_outtab:
PUSH EBP
MOV EBP,ESP
MOV EAX,9
PUSH EAX
MOV EAX,[_output]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
POP EBP
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -