main.asm
来自「开放源码的编译器open watcom 1.6.0版的源代码」· 汇编 代码 · 共 1,574 行 · 第 1/5 页
ASM
1,574 行
jbe short L99
cmp byte ptr [ebp]-24H,68H
je short L100
jmp short L105
L98: cmp byte ptr [ebp]-24H,63H
jne short L105
mov dword ptr [ebp]-1cH,offset DGROUP:L178
jmp short L106
L99: mov dword ptr [ebp]-1cH,offset DGROUP:L179
jmp short L106
L100: mov dword ptr [ebp]-1cH,offset DGROUP:L180
jmp short L106
L101: mov dword ptr [ebp]-1cH,offset DGROUP:L181
jmp short L106
L102: mov dword ptr [ebp]-1cH,offset DGROUP:L182
jmp short L106
L103: mov dword ptr [ebp]-1cH,offset DGROUP:L183
jmp short L106
L104: mov dword ptr [ebp]-1cH,offset DGROUP:L184
jmp short L106
L105: mov edi,dword ptr [ebp]-18H
mov esi,offset DGROUP:L185
movsw
movsb
mov edx,offset DGROUP:_MemType
mov eax,dword ptr [ebp]-18H
call near ptr strcat_
mov edx,dword ptr [ebp]-18H
mov eax,0000044eH
call near ptr MsgPrintf1_
mov eax,00000001H
jmp near ptr exit_
L106: mov edx,dword ptr [ebp]-1cH
mov eax,dword ptr [ebp]-18H
call near ptr strcat_
mov eax,dword ptr [ebp]-18H
call near ptr InputQueueLine_
mov eax,dword ptr [ebp]-18H
mov byte ptr [eax],00H
mov edx,offset DGROUP:L175
mov eax,dword ptr [ebp]-18H
call near ptr strcat_
mov edx,dword ptr [ebp]-1cH
mov eax,dword ptr [ebp]-18H
call near ptr strcat_
mov edx,offset DGROUP:L176
mov eax,dword ptr [ebp]-18H
call near ptr strcat_
mov eax,dword ptr [ebp]-18H
call near ptr InputQueueLine_
lea esp,[ebp]-14H
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop ebp
ret
parse_token_: push ebp
mov ebp,esp
push 00000038H
call near ptr __CHK
push ebx
push ecx
push esi
push edi
sub esp,0000001cH
mov dword ptr [ebp]-18H,eax
mov dword ptr [ebp]-14H,edx
mov eax,dword ptr [ebp]-18H
mov al,byte ptr [eax]
mov byte ptr [ebp]-1cH,al
cmp byte ptr [ebp]-1cH,2fH
jb short L108
cmp byte ptr [ebp]-1cH,2fH
jbe short L112
cmp byte ptr [ebp]-1cH,3fH
jb short L107
cmp byte ptr [ebp]-1cH,3fH
jbe short L110
cmp byte ptr [ebp]-1cH,40H
je near ptr L144
jmp near ptr L145
L107: cmp byte ptr [ebp]-1cH,3dH
je short L111
jmp near ptr L145
L108: cmp byte ptr [ebp]-1cH,23H
jb short L109
cmp byte ptr [ebp]-1cH,23H
jbe short L111
cmp byte ptr [ebp]-1cH,2dH
je short L112
jmp near ptr L145
L109: jmp near ptr L145
L110: call near ptr usage_msg_
jmp near ptr L146
L111: mov eax,0000043dH
call near ptr AsmError_
L112: mov eax,dword ptr [ebp]-18H
inc dword ptr [ebp]-18H
mov eax,dword ptr [ebp]-18H
mov al,byte ptr [eax]
and eax,000000ffH
call near ptr tolower_
mov dword ptr [ebp]-20H,eax
cmp dword ptr [ebp]-20H,00000066H
jb near ptr L116
cmp dword ptr [ebp]-20H,00000066H
jbe near ptr L135
cmp dword ptr [ebp]-20H,0000006dH
jb short L114
cmp dword ptr [ebp]-20H,0000006dH
jbe near ptr L124
cmp dword ptr [ebp]-20H,00000073H
jb short L113
cmp dword ptr [ebp]-20H,00000073H
jbe near ptr L128
cmp dword ptr [ebp]-20H,0000007aH
je near ptr L141
jmp near ptr L142
L113: cmp dword ptr [ebp]-20H,00000071H
je near ptr L140
jmp near ptr L142
L114: cmp dword ptr [ebp]-20H,00000069H
jb short L115
cmp dword ptr [ebp]-20H,00000069H
jbe near ptr L126
cmp dword ptr [ebp]-20H,0000006aH
je near ptr L128
jmp near ptr L142
L115: cmp dword ptr [ebp]-20H,00000068H
je near ptr L125
jmp near ptr L142
L116: cmp dword ptr [ebp]-20H,00000037H
jb short L118
cmp dword ptr [ebp]-20H,00000037H
jbe near ptr L123
cmp dword ptr [ebp]-20H,00000064H
jb short L117
cmp dword ptr [ebp]-20H,00000064H
jbe near ptr L129
jmp near ptr L127
L117: cmp dword ptr [ebp]-20H,0000003fH
je near ptr L125
jmp near ptr L142
L118: cmp dword ptr [ebp]-20H,00000033H
jb short L119
cmp dword ptr [ebp]-20H,00000034H
jbe short L120
cmp dword ptr [ebp]-20H,00000035H
je short L123
jmp near ptr L142
L119: cmp dword ptr [ebp]-20H,00000030H
jae short L123
jmp near ptr L142
L120: mov eax,dword ptr [ebp]-18H
cmp byte ptr [eax]+1H,72H
jne short L121
mov byte ptr _NamingConvention,01H
jmp near ptr L143
L121: mov eax,dword ptr [ebp]-18H
cmp byte ptr [eax]+1H,73H
jne short L122
mov byte ptr _NamingConvention,02H
jmp near ptr L143
L122: mov eax,dword ptr [ebp]-18H
cmp byte ptr [eax]+1H,00H
je short L123
mov edx,dword ptr [ebp]-18H
mov eax,0000044eH
call near ptr MsgPrintf1_
mov eax,00000001H
jmp near ptr exit_
L123: mov eax,dword ptr [ebp]-18H
mov al,byte ptr [eax]
mov byte ptr _ProcessorType,al
jmp near ptr L143
L124: mov eax,dword ptr [ebp]-18H
mov al,byte ptr [eax]+1H
mov byte ptr _MemType,al
jmp near ptr L143
L125: call near ptr usage_msg_
jmp near ptr L143
L126: mov eax,dword ptr [ebp]-18H
add eax,00000002H
call near ptr AddStringToIncludePath_
jmp near ptr L143
L127: mov byte ptr _StopAtEnd,01H
jmp near ptr L143
L128: mov byte ptr _SignValue,01H
jmp near ptr L143
L129: mov eax,dword ptr [ebp]-18H
mov al,byte ptr [eax]+1H
mov byte ptr [ebp]-24H,al
cmp byte ptr [ebp]-24H,31H
jb short L130
cmp byte ptr [ebp]-24H,32H
jbe short L131
cmp byte ptr [ebp]-24H,36H
je short L132
jmp short L133
L130: jmp short L133
L131: mov byte ptr _DebugFlag,01H
jmp near ptr L146
L132: mov byte ptr _Debug,01H
mov eax,offset DGROUP:L186
push eax
call near ptr printf_
add esp,00000004H
jmp near ptr L146
L133: mov eax,dword ptr [ebp]-18H
inc eax
call near ptr put_cmdline_const_in_list_
cmp eax,0ffffffffH
jne short L134
mov edx,dword ptr [ebp]-18H
mov eax,0000044eH
call near ptr MsgPrintf1_
mov eax,00000001H
jmp near ptr exit_
L134: jmp near ptr L143
L135: mov eax,dword ptr [ebp]-18H
mov al,byte ptr [eax]+1H
mov byte ptr [ebp]-28H,al
cmp byte ptr [ebp]-28H,65H
jb short L136
cmp byte ptr [ebp]-28H,65H
jbe short L138
cmp byte ptr [ebp]-28H,6fH
je short L137
jmp short L139
L136: jmp short L139
L137: mov edx,00000002H
mov eax,dword ptr [ebp]-18H
add eax,00000003H
call near ptr get_fname_
jmp near ptr L146
L138: mov edx,00000001H
mov eax,dword ptr [ebp]-18H
add eax,00000003H
call near ptr get_fname_
jmp short L146
L139: mov edx,dword ptr [ebp]-18H
mov eax,0000044eH
call near ptr MsgPrintf1_
mov eax,00000001H
jmp near ptr exit_
L140: mov byte ptr _Quiet,01H
jmp short L143
L141: mov eax,dword ptr [ebp]-18H
mov al,byte ptr [eax]+1H
mov byte ptr [ebp]-2cH,al
cmp byte ptr [ebp]-2cH,71H
jne short L142
mov byte ptr _Quiet,01H
jmp short L146
L142: mov edx,dword ptr [ebp]-18H
mov eax,0000044eH
call near ptr MsgPrintf1_
mov eax,00000001H
jmp near ptr exit_
L143: jmp short L146
L144: mov edx,dword ptr [ebp]-14H
mov eax,dword ptr [ebp]-18H
inc eax
call near ptr do_envvar_cmdline_
jmp short L146
L145: xor edx,edx
mov eax,dword ptr [ebp]-18H
call near ptr get_fname_
L146: lea esp,[ebp]-10H
pop edi
pop esi
pop ecx
pop ebx
pop ebp
ret
parse_cmdline_: push ebp
mov ebp,esp
push 0000007cH
call near ptr __CHK
push ebx
push ecx
push esi
push edi
sub esp,0000005cH
mov dword ptr [ebp]-18H,eax
mov dword ptr [ebp]-1cH,edx
cmp dword ptr [ebp]-18H,00000001H
jne short L147
call near ptr usage_msg_
L147: mov dword ptr [ebp]-14H,00000001H
L148: mov eax,dword ptr [ebp]-14H
cmp eax,dword ptr [ebp]-18H
jl short L150
jmp short L151
L149: mov eax,dword ptr [ebp]-14H
inc dword ptr [ebp]-14H
jmp short L148
L150: xor edx,edx
mov eax,dword ptr [ebp]-14H
shl eax,02H
add eax,dword ptr [ebp]-1cH
mov eax,dword ptr [eax]
call near ptr parse_token_
jmp short L149
L151: cmp dword ptr _AsmFiles+0cH,00000000H
jne short L152
lea edx,[ebp]-6cH
mov eax,00000440H
call near ptr MsgGet_
lea eax,[ebp]-6cH
push eax
push 00000001H
call near ptr Fatal_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?