tag for fasm 1.68

fasm 1.69.06 in trunk

git-svn-id: svn://kolibrios.org@1189 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
heavyiron
2009-10-01 00:41:45 +00:00
parent 40beda5783
commit 905b52e8ee
28 changed files with 25479 additions and 1005 deletions

View File

@@ -104,15 +104,15 @@ parser:
stos word [edi]
mov al,dl
stos byte [edi]
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je parse_block
cmp bx,repeat_directive-assembler
cmp bx,repeat_directive-instruction_handler
je parse_block
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je parse_block
cmp bx,end_directive-assembler
cmp bx,end_directive-instruction_handler
je parse_end_directive
cmp bx,else_directive-assembler
cmp bx,else_directive-instruction_handler
je parse_else
common_parse:
call parse_line_contents
@@ -159,9 +159,9 @@ parser:
shl eax,16
push eax
inc [blocks_stack]
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je parse_if
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je parse_while
call parse_line_contents
jmp parse_next_line
@@ -188,11 +188,11 @@ parser:
lods byte [esi]
or al,al
jnz extra_characters_on_line
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je close_parsing_block
cmp bx,repeat_directive-assembler
cmp bx,repeat_directive-instruction_handler
je close_parsing_block
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je close_parsing_block
jmp parse_next_line
close_parsing_block:
@@ -202,7 +202,7 @@ parser:
jne unexpected_instruction
dec [blocks_stack]
pop eax edx
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
jne parse_next_line
test al,1100b
jz parse_next_line
@@ -251,7 +251,7 @@ parser:
parse_else:
cmp [blocks_stack],0
je unexpected_instruction
cmp word [esp+2],if_directive-assembler
cmp word [esp+2],if_directive-instruction_handler
jne unexpected_instruction
lods byte [esi]
or al,al
@@ -264,7 +264,7 @@ parser:
call get_instruction
jc extra_characters_on_line
pop edi
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
jne extra_characters_on_line
test byte [esp],100b
jnz skip_true_condition_else
@@ -311,15 +311,15 @@ parser:
lea esi,[esi+ecx+1]
jmp skip_parsing_line
skip_parsing_instruction:
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je skip_parsing_block
cmp bx,repeat_directive-assembler
cmp bx,repeat_directive-instruction_handler
je skip_parsing_block
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je skip_parsing_block
cmp bx,end_directive-assembler
cmp bx,end_directive-instruction_handler
je skip_parsing_end_directive
cmp bx,else_directive-assembler
cmp bx,else_directive-instruction_handler
je skip_parsing_else
skip_parsing_contents:
lods byte [esi]
@@ -369,11 +369,11 @@ parser:
lods byte [esi]
or al,al
jnz extra_characters_on_line
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je close_skip_parsing_block
cmp bx,repeat_directive-assembler
cmp bx,repeat_directive-instruction_handler
je close_skip_parsing_block
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je close_skip_parsing_block
jmp skip_parsing
close_skip_parsing_block:
@@ -385,7 +385,7 @@ parser:
pop eax edx
test al,1
jz skip_parsing
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
jne parse_next_line
test al,10000b
jz parse_next_line
@@ -394,15 +394,15 @@ parser:
mov eax,[current_line]
stos dword [edi]
inc [parsed_lines]
mov eax,1 + (end_directive-assembler) shl 8
mov eax,1 + (end_directive-instruction_handler) shl 8
stos dword [edi]
mov eax,1 + (if_directive-assembler) shl 8
mov eax,1 + (if_directive-instruction_handler) shl 8
stos dword [edi]
jmp parse_next_line
skip_parsing_else:
cmp [blocks_stack],0
je unexpected_instruction
cmp word [esp+2],if_directive-assembler
cmp word [esp+2],if_directive-instruction_handler
jne unexpected_instruction
lods byte [esi]
or al,al
@@ -415,7 +415,7 @@ parser:
call get_instruction
jc extra_characters_on_line
pop edi
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
jne extra_characters_on_line
mov al,[esp]
test al,1
@@ -432,7 +432,7 @@ parser:
stos dword [edi]
inc [parsed_lines]
parse_else_if:
mov eax,1 + (if_directive-assembler) shl 8
mov eax,1 + (if_directive-instruction_handler) shl 8
stos dword [edi]
jmp parse_if
skip_parsing_pure_else:
@@ -451,21 +451,21 @@ parser:
parse_line_contents:
mov [parenthesis_stack],0
parse_instruction_arguments:
cmp bx,prefix_instruction-assembler
cmp bx,prefix_instruction-instruction_handler
je allow_embedded_instruction
cmp bx,times_directive-assembler
cmp bx,times_directive-instruction_handler
je parse_times_directive
cmp bx,end_directive-assembler
cmp bx,end_directive-instruction_handler
je allow_embedded_instruction
cmp bx,label_directive-assembler
cmp bx,label_directive-instruction_handler
je parse_label_directive
cmp bx,segment_directive-assembler
cmp bx,segment_directive-instruction_handler
je parse_label_directive
cmp bx,load_directive-assembler
cmp bx,load_directive-instruction_handler
je parse_load_directive
cmp bx,extrn_directive-assembler
cmp bx,extrn_directive-instruction_handler
je parse_extrn_directive
cmp bx,public_directive-assembler
cmp bx,public_directive-instruction_handler
je parse_public_directive
parse_argument:
lea eax,[edi+100h]