Rev 624 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 624 | Rev 992 | ||
---|---|---|---|
Line 22... | Line 22... | ||
22 | cmp eax,[labels_list] |
22 | cmp eax,[labels_list] |
23 | jae out_of_memory |
23 | jae out_of_memory |
24 | cmp byte [esi+16],0 |
24 | cmp byte [esi+16],0 |
25 | je empty_line |
25 | je empty_line |
26 | mov al,0Fh |
26 | cmp byte [esi+16],3Bh |
- | 27 | je empty_line |
|
- | 28 | mov al,0Fh |
|
27 | stos byte [edi] |
29 | stos byte [edi] |
28 | mov eax,esi |
30 | mov eax,esi |
29 | stos dword [edi] |
31 | stos dword [edi] |
30 | inc [parsed_lines] |
32 | inc [parsed_lines] |
31 | add esi,16 |
33 | add esi,16 |
Line 119... | Line 121... | ||
119 | or al,al |
121 | or al,al |
120 | jz parse_next_line |
122 | jz parse_next_line |
121 | cmp al,':' |
123 | cmp al,':' |
122 | je invalid_name |
124 | je invalid_name |
123 | cmp al,3Bh |
125 | dec esi |
124 | je skip_preprocessed_symbol |
- | |
125 | dec esi |
- | |
126 | call parse_argument |
126 | cmp al,3Bh |
- | 127 | je skip_rest_of_line |
|
- | 128 | call parse_argument |
|
127 | jmp parse_next_line |
129 | jmp parse_next_line |
128 | skip_preprocessed_symbol: |
130 | empty_line: |
129 | lods byte [esi] |
- | |
130 | movzx eax,al |
- | |
131 | add esi,eax |
- | |
132 | skip_next: |
- | |
133 | lods byte [esi] |
- | |
134 | or al,al |
- | |
135 | jz parse_next_line |
- | |
136 | cmp al,1Ah |
- | |
137 | je skip_preprocessed_symbol |
- | |
138 | cmp al,3Bh |
- | |
139 | je skip_preprocessed_symbol |
- | |
140 | cmp al,22h |
- | |
141 | je skip_preprocessed_string |
- | |
142 | jmp skip_next |
- | |
143 | skip_preprocessed_string: |
- | |
144 | lods dword [esi] |
- | |
145 | add esi,eax |
- | |
146 | jmp skip_next |
- | |
147 | empty_line: |
- | |
148 | add esi,17 |
131 | add esi,16 |
149 | parse_next_line: |
132 | skip_rest_of_line: |
- | 133 | call skip_foreign_line |
|
- | 134 | parse_next_line: |
|
150 | cmp esi,[source_start] |
135 | cmp esi,[source_start] |
151 | jb parser_loop |
136 | jb parser_loop |
152 | source_parsed: |
137 | source_parsed: |
153 | cmp [blocks_stack],0 |
138 | cmp [blocks_stack],0 |
154 | je blocks_stack_ok |
139 | je blocks_stack_ok |
Line 157... | Line 142... | ||
157 | jmp missing_end_directive |
142 | jmp missing_end_directive |
158 | blocks_stack_ok: |
143 | blocks_stack_ok: |
159 | xor al,al |
144 | xor al,al |
160 | stos byte [edi] |
145 | stos byte [edi] |
161 | ;mov eax,[error_line] |
146 | add edi,0Fh |
162 | ;mov [current_line],eax |
- | |
163 | ;cmp [anonymous_forward],0 |
- | |
164 | ;jne invalid_value |
- | |
165 | add edi,0Fh |
- | |
166 | and edi,not 0Fh |
147 | and edi,not 0Fh |
167 | mov [code_start],edi |
148 | mov [code_start],edi |
168 | ret |
149 | ret |
169 | parse_block: |
150 | parse_block: |
170 | mov eax,esp |
151 | mov eax,esp |
Line 912... | Line 893... | ||
912 | pop edi esi |
893 | pop edi esi |
913 | jmp expression |
894 | jmp expression |
914 | contents_parsed: |
895 | contents_parsed: |
915 | cmp [parenthesis_stack],0 |
896 | cmp [parenthesis_stack],0 |
916 | ; jne invalid_expression |
897 | je contents_ok |
917 | je contents_ok |
- | |
918 | dec [parenthesis_stack] |
898 | dec [parenthesis_stack] |
919 | add esp,8 |
899 | add esp,8 |
920 | jmp contents_parsed |
900 | jmp contents_parsed |
921 | contents_ok: |
901 | contents_ok: |
922 | ret |
902 | ret |