Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6466 → Rev 6467

/programs/develop/fasm/trunk/exprpars.inc
1,6 → 1,6
 
; flat assembler core
; Copyright (c) 1999-2013, Tomasz Grysztar.
; Copyright (c) 1999-2016, Tomasz Grysztar.
; All rights reserved.
 
convert_expression:
77,7 → 77,7
ret
 
convert_number:
lea eax,[edi-10h]
lea eax,[edi+20h]
mov edx,[memory_end]
cmp [source_start],0
je check_memory_for_number
129,7 → 129,11
pop [current_offset]
lods byte [esi]
cmp al,')'
jne invalid_expression
je subexpression_closed
dec esi
mov al,'!'
stosb
subexpression_closed:
ret
symbol_value:
cmp [source_start],0
147,16 → 151,13
shr ah,4
cmp ah,4
je register_value
and ah,not 1
cmp ah,8
je register_value
cmp ah,0Ch
jae register_value
cmp ah,6
je register_value
cmp ah,0Dh
je register_value
cmp ah,0Fh
je register_value
cmp ah,2
jne no_address_register
cmp al,23h
je register_value
cmp al,25h
912,7 → 913,7
je preevaluate_or
cmp dl,'&'
je preevaluate_and
cmp dl,'}'
cmp dl,92h
je preevaluation_done
or dl,dl
jnz invalid_logical_expression
987,7 → 988,7
jmp skip_logical_value
negation_skipped:
mov al,[esi]
cmp al,'{'
cmp al,91h
jne skip_simple_logical_value
inc esi
xchg al,[logical_value_wrapping]
1003,7 → 1004,7
je skip_logical_expression
cmp al,'&'
je skip_logical_expression
cmp al,'}'
cmp al,92h
jne wrongly_structured_logical_expression
pop eax
mov [logical_value_wrapping],al
1026,13 → 1027,13
je logical_value_skipped
cmp al,'&'
je logical_value_skipped
cmp al,'{'
cmp al,91h
je skip_logical_value_internal_parenthesis
cmp al,'}'
cmp al,92h
jne skip_logical_value_symbol
sub [logical_value_parentheses],1
jnc skip_logical_value_symbol
cmp [logical_value_wrapping],'{'
cmp [logical_value_wrapping],91h
jne skip_logical_value_symbol
jmp logical_value_skipped
skip_logical_value_internal_parenthesis:
1049,7 → 1050,7
jmp preevaluate_negation
preevaluate_negation_ok:
mov ebx,esi
cmp byte [esi],'{'
cmp byte [esi],91h
jne preevaluate_simple_logical_value
lods byte [esi]
stos byte [edi]
1062,7 → 1063,7
pop ebp
cmp al,0FFh
je invalid_logical_value
cmp byte [esi],'}'
cmp byte [esi],92h
jne invalid_logical_value
or al,al
jnz preevaluated_expression_value
1089,9 → 1090,9
mov al,[esi]
or al,al
jz logical_value_boundaries_found
cmp al,'{'
cmp al,91h
je logical_value_internal_parentheses
cmp al,'}'
cmp al,92h
je logical_value_boundaries_parenthesis_close
cmp al,'|'
je logical_value_boundaries_found
1116,7 → 1117,7
logical_value_boundaries_parenthesis_close:
sub [logical_value_parentheses],1
jnc next_symbol_in_logical_value
cmp [logical_value_wrapping],'{'
cmp [logical_value_wrapping],91h
jne next_symbol_in_logical_value
logical_value_boundaries_found:
or edx,edx