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

📄 cc4.asm

📁 small c complier 它也Menuet OS的一个附件,同样他也是有汇编实现
💻 ASM
📖 第 1 页 / 共 4 页
字号:
MOV EAX,_code
MOV EBX,236
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1768
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,240
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1779
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,384
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1791
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,388
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1803
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,392
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1815
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,396
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1835
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,400
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1855
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,244
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1864
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,248
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1885
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,456
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1901
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,460
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1924
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,252
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1941
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,256
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1962
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,260
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1978
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,404
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+1991
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,264
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2004
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,268
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2010
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,272
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2042
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,408
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2055
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,412
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2068
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,276
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2077
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,416
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2092
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,420
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2110
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,424
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2127
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,280
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2144
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,284
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2160
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,288
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2195
POP EBX
MOV [EBX],EAX
MOV EAX,_code
MOV EBX,292
ADD EAX,EBX
PUSH EAX
MOV EAX,_4_2+2212
POP EBX
MOV [EBX],EAX
POP EBP
RET
_4_2 DB -119,65,68,68,32,69,65,88,44,69
 DB 66,88,13,10,0,8,63,65,68,68
 DB 32,69,65,88,44,60,110,62,13,10
 DB 63,63,0,-119,65,68,68,32,69,66
 DB 88,44,69,65,88,13,10,0,8,63
 DB 65,68,68,32,69,66,88,44,60,110
 DB 62,13,10,63,63,0,1,65,68,68
 DB 32,66,89,84,69,32,91,69,66,88
 DB 93,44,60,110,62,13,10,0,1,65
 DB 68,68,32,87,79,82,68,32,91,69
 DB 66,88,93,44,60,110,62,13,10,0
 DB 0,65,68,68,32,60,109,62,0,0
 DB 63,65,68,68,32,69,83,80,44,60
 DB 110,62,13,10,63,63,0,-119,65,78
 DB 68,32,69,65,88,44,69,66,88,13
 DB 10,0,8,78,69,71,32,69,65,88
 DB 13,10,0,0,63,77,79,86,32,67
 DB 76,44,60,110,62,63,88,79,82,32
 DB 67,76,44,67,76,63,13,10,0,9
 DB 77,79,86,32,69,67,88,44,69,65
 DB 88,13,10,77,79,86,32,69,65,88
 DB 44,69,66,88,13,10,83,65,76,32
 DB 69,65,88,44,67,76,13,10,0,9
 DB 77,79,86,32,69,67,88,44,69,65
 DB 88,13,10,77,79,86,32,69,65,88
 DB 44,69,66,88,13,10,83,65,82,32
 DB 69,65,88,44,67,76,13,10,0,8
 DB 67,65,76,76,32,69,65,88,13,10
 DB 0,16,67,65,76,76,32,60,109,62
 DB 13,10,0,0,32,68,66,32,0,0
 DB 32,82,69,83,66,32,60,110,62,13
 DB 10,0,0,32,84,73,77,69,83,32
 DB 60,110,62,32,68,66,32,48,13,10
 DB 0,8,78,79,84,32,69,65,88,13
 DB 10,0,0,44,60,110,62,13,10,0
 DB 8,83,72,76,32,69,65,88,44,49
 DB 13,10,0,1,83,72,76,32,69,66
 DB 88,44,49,13,10,0,1,68,69,67
 DB 32,66,89,84,69,32,91,69,66,88
 DB 93,13,10,0,1,68,69,67,32,87
 DB 79,82,68,32,91,69,66,88,93,13
 DB 10,0,9,67,68,81,13,10,73,68
 DB 73,86,32,69,66,88,13,10,0,9
 DB 88,79,82,32,69,68,88,44,69,68
 DB 88,13,10,68,73,86,32,69,66,88
 DB 13,10,0,0,32,68,68,32,0,0
 DB 32,68,68,32,60,110,62,13,10,0
 DB 0,32,84,73,77,69,83,32,60,110
 DB 62,32,68,68,32,48,13,10,0,64
 DB 80,85,83,72,32,69,66,80,13,10
 DB 77,79,86,32,69,66,80,44,69,83
 DB 80,13,10,0,8,60,103,62,79,82
 DB 32,69,65,88,44,69,65,88,13,10
 DB 74,69,32,95,60,100,62,13,10,74
 DB 77,80,32,95,60,110,62,13,10,95
 DB 60,100,62,58,13,10,0,-119,67,65
 DB 76,76,32,95,95,101,113,13,10,0
 DB 8,60,103,62,79,82,32,69,65,88
 DB 44,69,65,88,13,10,74,71,69,32
 DB 95,60,100,62,13,10,74,77,80,32
 DB 95,60,110,62,13,10,95,60,100,62
 DB 58,13,10,0,9,67,65,76,76,32
 DB 95,95,103,101,13,10,0,9,67,65
 DB 76,76,32,95,95,117,103,101,13,10
 DB 0,16,77,79,86,83,88,32,69,65
 DB 88,44,66,89,84,69,32,91,60,109
 DB 62,93,13,10,0,16,77,79,86,90
 DB 88,32,69,65,88,44,66,89,84,69
 DB 32,91,60,109,62,93,13,10,0,17
 DB 77,79,86,83,88,32,69,65,88,44
 DB 66,89,84,69,32,91,69,66,88,63
 DB 60,111,62,63,63,93,13,10,0,17
 DB 77,79,86,90,88,32,69,65,88,44
 DB 66,89,84,69,32,91,69,66,88,63
 DB 60,111,62,63,63,93,13,10,0,16
 DB 77,79,86,83,88,32,69,65,88,44
 DB 66,89,84,69,32,91,69,66,80,60
 DB 111,62,93,13,10,0,16,77,79,86
 DB 90,88,32,69,65,88,44,66,89,84
 DB 69,32,91,69,66,80,60,111,62,93
 DB 13,10,0,16,77,79,86,32,69,65
 DB 88,44,91,60,109,62,93,13,10,0
 DB 16,63,77,79,86,32,69,65,88,44
 DB 60,110,62,63,88,79,82,32,69,65
 DB 88,44,69,65,88,63,13,10,0,17
 DB 77,79,86,32,69,65,88,44,32,91
 DB 69,66,88,63,60,111,62,63,63,93
 DB 13,10,0,2,63,77,79,86,32,69
 DB 66,88,44,60,110,62,63,88,79,82
 DB 32,69,66,88,44,69,66,88,63,13
 DB 10,0,16,77,79,86,83,88,32,69
 DB 65,88,44,87,79,82,68,32,91,60
 DB 109,62,93,13,10,0,16,77,79,86
 DB 83,88,32,69,65,88,44,87,79,82
 DB 68,32,91,60,109,62,93,0,16,63
 DB 77,79,86,32,32,69,65,88,44,60
 DB 110,62,63,88,79,82,32,69,65,88
 DB 44,69,65,88,63,13,10,0,17,77
 DB 79,86,83,88,32,69,65,88,44,32
 DB 87,79,82,68,32,91,69,66,88,63
 DB 60,111,62,63,63,93,13,10,0,16
 DB 77,79,86,83,88,32,69,65,88,44
 DB 32,87,79,82,68,32,91,69,66,80
 DB 60,111,62,93,13,10,0,2,77,79
 DB 86,83,88,32,69,66,88,44,87,79
 DB 82,68,32,60,109,62,13,10,0,2
 DB 63,77,79,86,32,69,66,88,44,60
 DB 110,62,63,88,79,82,32,69,66,88
 DB 44,69,66,88,63,13,10,0,17,77
 DB 79,86,83,88,32,69,66,88,44,87
 DB 79,82,68,32,91,69,66,88,63,60
 DB 111,62,63,63,93,13,10,0,2,77
 DB 79,86,83,88,32,69,66,88,44,87
 DB 79,82,68,32,91,69,66,80,60,111
 DB 62,93,13,10,0,8,60,103,62,79
 DB 82,32,69,65,88,44,69,65,88,13
 DB 10,74,71,32,95,60,100,62,13,10
 DB 74,77,80,32,95,60,110,62,13,10
 DB 95,60,100,62,58,13,10,0,8,67
 DB 65,76,76,32,95,95,103,116,13,10
 DB 0,9,67,65,76,76,32,95,95,117
 DB 103,116,13,10,0,1,73,78,67,32
 DB 66,89,84,69,32,91,69,66,88,93
 DB 13,10,0,1,73,78,67,32,87,79
 DB 82,68,32,91,69,66,88,93,13,10
 DB 0,0,32,68,87,32,0,0,32,82
 DB 69,83,87,32,60,110,62,13,10,0
 DB 0,32,84,73,77,69,83,32,60,110
 DB 62,32,68,87,32,48,13,10,0,0
 DB 74,77,80,32,95,60,110,62,13,10
 DB 0,0,95,60,110,62,58,13,10,0
 DB 8,60,103,62,79,82,32,69,65,88
 DB 44,69,65,88,13,10,74,76,69,32
 DB 95,60,100,62,13,10,74,77,80,32
 DB 95,60,110,62,13,10,95,60,100,62
 DB 58,13,10,0,9,67,65,76,76,32
 DB 95,95,108,101,13,10,0,9,67,65
 DB 76,76,32,95,95,117,108,101,13,10
 DB 0,8,67,65,76,76,32,95,95,108
 DB 110,101,103,13,10,0,8,60,103,62
 DB 79,82,32,69,65,88,44,69,65,88
 DB 13,10,74,76,32,95,60,100,62,13
 DB 10,74,77,80,32,95,60,110,62,13
 DB 10,95,60,100,62,58,13,10,0,9
 DB 67,65,76,76,32,95,95,108,116,13
 DB 10,0,9,67,65,76,76,32,95,95
 DB 117,108,116,13,10,0,9,67,68,81
 DB 13,10,73,68,73,86,32,69,66,88
 DB 13,10,77,79,86,32,69,65,88,44
 DB 69,68,88,13,10,0,9,88,79,82
 DB 32,69,68,88,44,69,68,88,13,10
 DB 68,73,86,32,69,66,88,13,10,77
 DB 79,86,32,69,65,88,44,69,68,88
 DB 13,10,0,10,77,79,86,32,69,66
 DB 88,44,69,65,88,13,10,0,-119,73
 DB 77,85,76,32,69,66,88,13,10,0
 DB -119,77,85,76,32,69,66,88,13,10
 DB 0,8,60,103,62,79,82,32,69,65
 DB 88,44,69,65,88,13,10,74,78,69
 DB 32,95,60,100,62,13,10,74,77,80
 DB 32,95,60,110,62,13,10,95,60,100
 DB 62,58,13,10,0,-119,67,65,76,76
 DB 32,95,95,110,101,13,10,0,0,32
 DB 68,68,32,95,60,110,62,13,10,0
 DB -119,79,82,32,69,65,88,44,69,66
 DB 88,13,10,0,0,63,43,60,110,62
 DB 63,63,13,10,0,16,77,79,86,32
 DB 69,65,88,44,95,60,108,62,43,60
 DB 110,62,13,10,0,16,77,79,86,32
 DB 69,65,88,44,60,109,62,13,10,0
 DB 16,76,69,65,32,69,65,88,44,91
 DB 69,66,80,60,111,62,93,13,10,0
 DB 2,77,79,86,32,69,66,88,44,60
 DB 109,62,13,10,0,2,77,79,86,32
 DB 69,66,88,44,60,109,62,0,2,76
 DB 69,65,32,69,66,88,44,91,69,66
 DB 80,60,111,62,93,13,10,0,2,80
 DB 79,80,32,69,66,88,13,10,0,72
 DB 80,85,83,72,32,69,65,88,13,10
 DB 0,65,80,85,83,72,32,69,66,88
 DB 13,10,0,64,80,85,83,72,32,60
 DB 109,62,13,10,0,64,80,85,83,72
 DB 32,91,69,66,88,63,60,111,62,63
 DB 63,93,13,10,0,64,80,85,83,72
 DB 32,91,69,66,80,63,60,111,62,63
 DB 63,93,13,10,0,0,77,79,86,32
 DB 60,109,62,0,8,77,79,86,32,66
 DB 89,84,69,32,91,60,109,62,93,44
 DB 65,76,13,10,0,9,77,79,86,32
 DB 91,69,66,88,93,44,65,76,13,10
 DB 0,8,77,79,86,32,68,87,79,82
 DB 68,32,91,60,109,62,93,44,69,65
 DB 88,13,10,0,9,77,79,86,32,91
 DB 69,66,88,93,44,69,65,88,13,10
 DB 0,8,77,79,86,32,87,79,82,68
 DB 32,91,60,109,62,93,44,65,88,13
 DB 10,0,9,77,79,86,32,91,69,66
 DB 88,93,44,65,88,13,10,0,8,35
 DB 68,69,67,32,69,65,88,13,10,35
 DB 0,8,35,68,69,67,32,69,66,88
 DB 13,10,35,0,0,95,60,110,62,0
 DB 0,63,77,79,86,32,69,83,80,44
 DB 69,66,80,13,10,63,63,80,79,80
 DB 32,69,66,80,13,10,82,69,84,13
 DB 10,0,8,35,73,78,67,32,69,65
 DB 88,13,10,35,0,8,35,73,78,67
 DB 32,69,66,88,13,10,35,0,0,83
 DB 85,66,32,60,109,62,0,9,83,85
 DB 66,32,69,65,88,44,69,66,88,13
 DB 10,0,8,63,83,85,66,32,69,65
 DB 88,44,60,110,62,13,10,63,63,0
 DB 1,83,85,66,32,91,69,66,88,93
 DB 44,60,110,62,13,10,0,1,83,85
 DB 66,32,91,69,66,88,93,44,60,110
 DB 62,13,10,0,9,88,67,72,71,32
 DB 69,65,88,44,69,66,88,13,10,0
 DB 10,80,79,80,32,69,66,88,13,10
 DB 88,67,72,71,32,69,65,88,44,69
 DB 66,88,13,10,80,85,83,72,32,69
 DB 66,88,13,10,0,10,67,65,76,76
 DB 32,95,95,115,119,105,116,99,104,13
 DB 10,0,-119,88,79,82,32,69,65,88
 DB 44,69,66,88,13,10,0
   
_header:
PUSH EBP
MOV EBP,ESP
MOV EAX,2
PUSH EAX
MOV CL,1
CALL _toseg
ADD ESP,4
MOV EAX,1
PUSH EAX
MOV CL,1
CALL _toseg
ADD ESP,4
POP EBP
RET
   
_trailer:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
MOV EAX,[_symtab]
MOV EBX,400
ADD EAX,EBX
MOV DWORD [_cptr],EAX
_4_5:
MOV EAX,[_cptr]
PUSH EAX
MOV EAX,[_symtab]
MOV EBX,400
ADD EAX,EBX
MOV EBX,3980
ADD EAX,EBX
POP EBX
CALL __ult
OR EAX,EAX
JNE _4_7
JMP _4_6
_4_7:
MOV EAX,[_cptr]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,4
CALL __eq
OR EAX,EAX
JNE _4_11
JMP _4_9
_4_11:
MOV EAX,[_cptr]
MOV EBX,2
ADD EAX,EBX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,4
CALL __eq
OR EAX,EAX
JNE _4_12
JMP _4_9
_4_12:
MOV EAX,1
JMP _4_10
_4_9:
XOR EAX,EAX
_4_10:
OR EAX,EAX
JNE _4_13
JMP _4_8
_4_13:
MOV EAX,[_cptr]
MOV EBX,11
ADD EAX,EBX
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV EAX,4
PUSH EAX
MOV CL,3
CALL _external
ADD ESP,12
_4_8:
MOV EAX,[_cptr]
MOV EBX,20
ADD EAX,EBX
MOV DWORD [_cptr],EAX
JMP _4_5
_4_6:
XOR EAX,EAX
PUSH EAX
MOV CL,1
CALL _toseg
ADD ESP,4
MOV ESP,EBP
POP EBP
RET
   
_setstage:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,[_snext]
POP EBX
MOV [EBX],EAX
OR EAX,EAX
JE _4_16
JMP _4_15
_4_16:
MOV EAX,[_stage]
MOV DWORD [_snext],EAX
_4_15:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,[_snext]
POP EBX
MOV [EBX],EAX
POP EBP
RET
   
_gen:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
JMP _4_20
_4_21:
_4_22:
_4_23:
_4_24:
MOV EAX,51
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
JMP _4_19
_4_25:
_4_26:
_4_27:
_4_28:
_4_29:
MOV EAX,70
PUSH EAX
XOR EAX,EAX
PUSH EAX
MOV CL,2
CALL _gen
ADD ESP,8
JMP _4_19
_4_30:
MOV EAX,[_csp]
MOV EBX,EAX
MOV EAX,4
XCHG EAX,EBX
SUB EAX,EBX
MOV DWORD [_csp],EAX
JMP _4_19
_4_31:
MOV EAX,[_csp]
MOV EBX,4
ADD EAX,EBX
MOV DWORD [_csp],EAX
JMP _4_19
_4_32:
_4_33:
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP+8]
PUSH EAX
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,[_csp]
POP EBX
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
MOV DWORD [_csp],EAX
JMP _4_19
_4_20:
CALL __switch
 DD _4_21
 DD 29
 DD _4_22
 DD 28
 DD _4_23
 DD 32
 DD _4_24
 DD 109
 DD _4_25
 DD 69
 DD _4_26
 DD 49
 DD _4_27
 DD 50
 DD _4_28
 DD 16
 DD _4_29
 DD 17
 DD _4_30
 DD 60
 DD _4_31
 DD 59
 DD _4_32
 DD 2
 DD _4_33
 DD 67
 DD 0
_4_19:
MOV EAX,[_snext]
OR EAX,EAX
JE _4_35
JMP _4_34
_4_35:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _outcode
ADD ESP,8
MOV ESP,EBP
POP EBP
RET
_4_34:
MOV EAX,[_snext]
PUSH EAX
MOV EAX,[_slast]
POP EBX
CALL __uge
OR EAX,EAX
JNE _4_37
JMP _4_36
_4_37:
MOV EAX,_4_17+0
PUSH EAX
MOV CL,1
CALL _error
ADD ESP,4
MOV ESP,EBP
POP EBP
RET
_4_36:
MOV EAX,[_snext]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
MOV EAX,[_snext]
MOV EBX,4
ADD EAX,EBX
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
MOV EAX,[_snext]
MOV EBX,8
ADD EAX,EBX
MOV DWORD [_snext],EAX
MOV ESP,EBP
POP EBP
RET
_4_17 DB 115,116,97,103,105,110,103,32,98,117
 DB 102,102,101,114,32,111,118,101,114,102
 DB 108,111,119,0
   
_clearsta:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _4_40
JMP _4_39
_4_40:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV DWORD [_snext],EAX
POP EBP
RET
_4_39:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _4_42
JMP _4_41
_4_42:
XOR CL,CL
CALL _dumpstag
_4_41:
XOR EAX,EAX
MOV DWORD [_snext],EAX
POP EBP
RET
   
_dumpstag:
PUSH EBP
MOV EBP,ESP
ADD ESP,-4
MOV EAX,[_snext]
MOV DWORD [_stail],EAX
MOV EAX,[_stage]
MOV DWORD [_snext],EAX
_4_44:
MOV EAX,[_snext]
PUSH EAX
MOV EAX,[_stail]
POP EBX
CALL __ult
OR EAX,EAX
JNE _4_46
JMP _4_45
_4_46:
MOVSX EAX,BYTE [_optimize]
OR EAX,EAX
JNE _4_48
JMP _4_47
_4_48:
_4_49:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX,-1
MOV [EBX],EAX
_4_50:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
MOV EBX,EAX
MOV EAX,47
CALL __le
OR EAX,EAX
JNE _4_52
JMP _4_51
_4_52:
MOV EAX,_seq
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
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _peep
ADD ESP,4
OR EAX,EAX
JNE _4_54
JMP _4_53
_4_54:
JMP _4_49
_4_53:
JMP _4_50
_4_51:
_4_47:
MOV EAX,[_snext]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV EAX,[_snext]
MOV EBX,4
ADD EAX,EBX
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _outcode
ADD ESP,8
MOV EAX,[_snext]
MOV EBX,8
ADD EAX,EBX
MOV DWORD [_snext],EAX
JMP _4_44
_4_45:
MOV ESP,EBP
POP EBP
RET
   
_toseg:
PUSH EBP
MOV EBP,ESP
MOV EAX,[_oldseg]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __eq
OR EAX,EAX
JNE _4_57
JMP _4_56
_4_57:
POP EBP
RET
_4_56:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV DWORD [_oldseg],EAX
POP EBP
RET
   
_public:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,4
CALL __eq
OR EAX,EAX
JNE _4_60
JMP _4_59
_4_60:
MOV EAX,2
PUSH EAX
MOV CL,1
CALL _toseg
ADD ESP,4
JMP _4_61
_4_59:
MOV EAX,1
PUSH EAX
MOV CL,1
CALL _toseg
ADD ESP,4
_4_61:
XOR CL,CL
CALL _newline
MOV EAX,_ssname
PUSH EAX
MOV CL,1
CALL _outname
ADD ESP,4
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,4
CALL __eq
OR EAX,EAX
JNE _4_63
JMP _4_62
_4_63:
XOR CL,CL
CALL _colon
XOR CL,CL
CALL _newline
_4_62:
POP EBP
RET
   
_external:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,4
CALL __eq
OR EAX,EAX
JNE _4_66
JMP _4_65
_4_66:
MOV EAX,2
PUSH EAX
MOV CL,1
CALL _toseg
ADD ESP,4
JMP _4_67
_4_65:
MOV EAX,1
PUSH EAX
MOV CL,1
CALL _toseg
ADD ESP,4
_4_67:
POP EBP
RET
   
_outsize:
PUSH EBP
MOV EBP,ESP
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,4
CALL __eq
OR EAX,EAX
JNE _4_70
JMP _4_69
_4_70:
MOV EAX,_4_68+0
PUSH EAX
MOV CL,1
CALL _outstr
ADD ESP,4
JMP _4_71
_4_69:
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,3
CALL __eq
OR EAX,EAX
JNE _4_73
JMP _4_72
_4_73:
MOV EAX,_4_68+5
PUSH EAX
MOV CL,1
CALL _outstr
ADD ESP,4
JMP _4_74
_4_72:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,1
CALL __eq
OR EAX,EAX
JNE _4_76
JMP _4_75
_4_76:
MOV EAX,_4_68+11
PUSH EAX
MOV CL,1
CALL _outstr
ADD ESP,4
JMP _4_77
_4_75:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,2
CALL __eq
OR EAX,EAX
JNE _4_79
JMP _4_78
_4_79:
MOV EAX,_4_68+16
PUSH EAX
MOV CL,1
CALL _outstr
ADD ESP,4
JMP _4_80
_4_78:
MOV EAX,_4_68+21
PUSH EAX
MOV CL,1
CALL _outstr
ADD ESP,4
_4_80:
_4_77:
_4_74:
_4_71:
POP EBP
RET
_4_68 DB 78,69,65,82,0,68,87,79,82,68
 DB 0,66,89,84,69,0,87,79,82,68
 DB 0,68,87,79,82,68,0
   
_point:
PUSH EBP
MOV EBP,ESP
MOV EAX,_4_81+0
PUSH EAX
MOV CL,1
CALL _outline
ADD ESP,4
POP EBP
RET
_4_81 DB 32,68,87,32,36,43,50,0

⌨️ 快捷键说明

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