📄 libstd.asm
字号:
JNE _lib_82
JMP _lib_81
_lib_82:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_75
_lib_81:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,45
CALL __eq
OR EAX,EAX
JNE _lib_84
JMP _lib_83
_lib_84:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX,1
MOV [EBX],EAX
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_85
_lib_83:
LEA EAX,[EBP-8]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_85:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,48
CALL __eq
OR EAX,EAX
JNE _lib_87
JMP _lib_86
_lib_87:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX,48
MOV [EBX],EAX
JMP _lib_88
_lib_86:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX,32
MOV [EBX],EAX
_lib_88:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isdigit
ADD ESP,4
OR EAX,EAX
JNE _lib_90
JMP _lib_89
_lib_90:
LEA EAX,[EBP-28]
PUSH EAX
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
PUSH EAX
MOV CL,1
CALL _atoi
ADD ESP,4
POP EBX
MOV [EBX],EAX
_lib_91:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isdigit
ADD ESP,4
OR EAX,EAX
JNE _lib_93
JMP _lib_92
_lib_93:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_91
_lib_92:
JMP _lib_94
_lib_89:
LEA EAX,[EBP-28]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_94:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
MOV EBX,EAX
MOV EAX,46
CALL __eq
OR EAX,EAX
JNE _lib_96
JMP _lib_95
_lib_96:
LEA EAX,[EBP-24]
PUSH EAX
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
PUSH EAX
MOV CL,1
CALL _atoi
ADD ESP,4
POP EBX
MOV [EBX],EAX
_lib_97:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
MOV CL,1
CALL _isdigit
ADD ESP,4
OR EAX,EAX
JNE _lib_99
JMP _lib_98
_lib_99:
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_97
_lib_98:
JMP _lib_100
_lib_95:
LEA EAX,[EBP-24]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_100:
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
DEC EAX
DEC EAX
DEC EAX
MOV [EBX],EAX
INC EAX
INC EAX
INC EAX
INC EAX
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-36]
PUSH EAX
LEA EAX,[EBP-56]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-32]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
JMP _lib_103
_lib_104:
LEA EAX,[EBP-56]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],AL
LEA EAX,[EBP-56]
MOV EBX,1
ADD EAX,EBX
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
JMP _lib_102
_lib_105:
LEA EAX,[EBP-36]
PUSH EAX
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
JMP _lib_102
_lib_106:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV CL,2
CALL _itoa
ADD ESP,8
JMP _lib_102
_lib_107:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV EAX,2
PUSH EAX
MOV CL,3
CALL _itoab
ADD ESP,12
JMP _lib_102
_lib_108:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV EAX,8
PUSH EAX
MOV CL,3
CALL _itoab
ADD ESP,12
JMP _lib_102
_lib_109:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV EAX,10
PUSH EAX
MOV CL,3
CALL _itoab
ADD ESP,12
JMP _lib_102
_lib_110:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-56]
PUSH EAX
MOV EAX,16
PUSH EAX
MOV CL,3
CALL _itoab
ADD ESP,12
JMP _lib_102
_lib_111:
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
JMP _lib_102
_lib_103:
CALL __switch
DD _lib_104
DD 99
DD _lib_105
DD 115
DD _lib_106
DD 100
DD _lib_107
DD 98
DD _lib_108
DD 111
DD _lib_109
DD 117
DD _lib_110
DD 120
DD 0
JMP _lib_111
_lib_102:
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP-36]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _strlen
ADD ESP,4
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-24]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_115
JMP _lib_113
_lib_115:
LEA EAX,[EBP-24]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __lt
OR EAX,EAX
JNE _lib_116
JMP _lib_113
_lib_116:
MOV EAX,1
JMP _lib_114
_lib_113:
XOR EAX,EAX
_lib_114:
OR EAX,EAX
JNE _lib_117
JMP _lib_112
_lib_117:
LEA EAX,[EBP-20]
PUSH EAX
LEA EAX,[EBP-24]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
_lib_112:
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
CALL __gt
OR EAX,EAX
JNE _lib_119
JMP _lib_118
_lib_119:
LEA EAX,[EBP-28]
PUSH EAX
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
XCHG EAX,EBX
SUB EAX,EBX
POP EBX
MOV [EBX],EAX
JMP _lib_120
_lib_118:
LEA EAX,[EBP-28]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],EAX
_lib_120:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
CALL __lneg
OR EAX,EAX
JNE _lib_122
JMP _lib_121
_lib_122:
_lib_123:
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
INC EAX
OR EAX,EAX
JNE _lib_125
JMP _lib_124
_lib_125:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_123
_lib_124:
_lib_121:
_lib_126:
LEA EAX,[EBP-20]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
INC EAX
OR EAX,EAX
JNE _lib_128
JMP _lib_127
_lib_128:
LEA EAX,[EBP-36]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_126
_lib_127:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JNE _lib_130
JMP _lib_129
_lib_130:
_lib_131:
LEA EAX,[EBP-28]
MOV EBX,EAX
MOV EAX, [EBX]
DEC EAX
MOV [EBX],EAX
INC EAX
OR EAX,EAX
JNE _lib_133
JMP _lib_132
_lib_133:
LEA EAX,[EBP-12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
JMP _lib_131
_lib_132:
_lib_129:
JMP _lib_75
_lib_76:
LEA EAX,[EBP-16]
MOV EBX,EAX
MOV EAX, [EBX]
MOV ESP,EBP
POP EBP
RET
_fputs:
PUSH EBP
MOV EBP,ESP
_lib_135:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
OR EAX,EAX
JNE _lib_137
JMP _lib_136
_lib_137:
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOVSX EAX,BYTE [EBX]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,2
CALL _OS_fputc
ADD ESP,8
JMP _lib_135
_lib_136:
POP EBP
RET
__is DD 4,4,4,4,4,4,4,4,4,260
DD 260,260,260,260,4,4,4,4,4,4
DD 4,4,4,4,4,4,4,4,4,4
DD 4,4,320,208,208,208,208,208,208,208
DD 208,208,208,208,208,208,208,208,1113,1113
DD 1113,1113,1113,1113,1113,1113,1113,1113,208,208
DD 208,208,208,208,208,1619,1619,1619,1619,1619
DD 1619,595,595,595,595,595,595,595,595,595
DD 595,595,595,595,595,595,595,595,595,595
DD 595,208,208,208,208,208,208,1139,1139,1139
DD 1139,1139,1139,115,115,115,115,115,115,115
DD 115,115,115,115,115,115,115,115,115,115
DD 115,115,115,208,208,208,208,4
_isalnum:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,1
AND EAX,EBX
POP EBP
RET
_isalpha:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,2
AND EAX,EBX
POP EBP
RET
_iscntrl:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,4
AND EAX,EBX
POP EBP
RET
_isdigit:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,8
AND EAX,EBX
POP EBP
RET
_isgraph:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,16
AND EAX,EBX
POP EBP
RET
_islower:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,32
AND EAX,EBX
POP EBP
RET
_isprint:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,64
AND EAX,EBX
POP EBP
RET
_ispunct:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,128
AND EAX,EBX
POP EBP
RET
_isspace:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,256
AND EAX,EBX
POP EBP
RET
_isupper:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,512
AND EAX,EBX
POP EBP
RET
_isxdigit:
PUSH EBP
MOV EBP,ESP
MOV EAX,__is
PUSH EAX
LEA EAX,[EBP+8]
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,EAX
MOV EAX,1024
AND EAX,EBX
POP EBP
RET
_itoa:
PUSH EBP
MOV EBP,ESP
ADD ESP,-8
LEA EAX,[EBP-8]
PUSH EAX
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
LEA EAX,[EBP-4]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
POP EBX
MOV [EBX],EAX
OR EAX,EAX
JL _lib_151
JMP _lib_150
_lib_151:
LEA EAX,[EBP+12]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
NEG EAX
POP EBX
MOV [EBX],EAX
_lib_150:
_lib_152:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
XCHG EAX,EBX
CDQ
IDIV EBX
MOV EAX,EDX
MOV EBX,48
ADD EAX,EBX
POP EBX
MOV [EBX],AL
LEA EAX,[EBP+12]
PUSH EAX
LEA EAX,[EBP+12]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
MOV EAX,10
XCHG EAX,EBX
CDQ
IDIV EBX
POP EBX
MOV [EBX],EAX
OR EAX,EAX
JG _lib_154
JMP _lib_153
_lib_154:
JMP _lib_152
_lib_153:
LEA EAX,[EBP-4]
MOV EBX,EAX
MOV EAX, [EBX]
OR EAX,EAX
JL _lib_156
JMP _lib_155
_lib_156:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
INC EAX
MOV [EBX],EAX
DEC EAX
MOV EBX,EAX
MOV EAX,45
MOV [EBX],AL
_lib_155:
LEA EAX,[EBP-8]
MOV EBX,EAX
MOV EAX, [EBX]
MOV EBX,EAX
XOR EAX,EAX
MOV [EBX],AL
LEA EAX,[EBP+8]
MOV EBX,EAX
MOV EAX, [EBX]
PUSH EAX
MOV CL,1
CALL _reverse
ADD ESP,4
MOV ESP,EBP
POP EBP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -