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 + -
显示快捷键?