fasm 1.69.10

git-svn-id: svn://kolibrios.org@1242 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
heavyiron 2009-10-29 08:38:44 +00:00
parent 297880faa4
commit 65bf04ac79
5 changed files with 24 additions and 11 deletions

View File

@ -162,6 +162,8 @@ convert_number:
ret ret
preprocessor_value: preprocessor_value:
dec edi dec edi
cmp [hash_tree],0
je invalid_value
lods byte [esi] lods byte [esi]
cmp al,1Ah cmp al,1Ah
jne invalid_value jne invalid_value

View File

@ -4077,7 +4077,7 @@ dump_symbols:
je prepare_string je prepare_string
add edx,0Ch add edx,0Ch
cmp al,0C0h cmp al,0C0h
jne prepare_strings_table jb prepare_strings_table
add edx,4 add edx,4
jmp prepare_strings_table jmp prepare_strings_table
prepare_string: prepare_string:

View File

@ -126,6 +126,7 @@ parser:
dec esi dec esi
cmp al,3Bh cmp al,3Bh
je skip_rest_of_line je skip_rest_of_line
mov [parenthesis_stack],0
call parse_argument call parse_argument
jmp parse_next_line jmp parse_next_line
empty_line: empty_line:

View File

@ -33,7 +33,7 @@
; cannot simply be copied and put under another distribution licence ; cannot simply be copied and put under another distribution licence
; (including the GNU Public Licence). ; (including the GNU Public Licence).
VERSION_STRING equ "1.69.06" VERSION_STRING equ "1.69.10"
VERSION_MAJOR = 1 VERSION_MAJOR = 1
VERSION_MINOR = 68 VERSION_MINOR = 69

View File

@ -5969,6 +5969,7 @@ extrq_instruction:
cmp al,'(' cmp al,'('
jne invalid_operand jne invalid_operand
xor bl,bl xor bl,bl
xchg bl,[postbyte_register]
call store_nomem_instruction call store_nomem_instruction
call get_byte_value call get_byte_value
stosb stosb
@ -6989,15 +6990,16 @@ store_instruction:
stos dword [edi] stos dword [edi]
ret ret
address_immediate_sib: address_immediate_sib:
test ch,not 44h test ch,44h
jnz address_immediate_sib_32bit
test ch,not 88h
jnz invalid_address_size jnz invalid_address_size
test ecx,0FF0000h xor eax,eax
jnz address_immediate_sib_nosignextend bt edx,31
test edx,80000000h sbb eax,0
jz address_immediate_sib_prefix_ok cmp eax,[address_high]
address_immediate_sib_nosignextend: jne value_out_of_range
call address_32bit_prefix address_immediate_sib_store:
address_immediate_sib_prefix_ok:
call store_instruction_code call store_instruction_code
mov al,100b mov al,100b
mov ah,100101b mov ah,100101b
@ -7006,6 +7008,14 @@ store_instruction:
or al,cl or al,cl
stos word [edi] stos word [edi]
jmp store_address_32bit_value jmp store_address_32bit_value
address_immediate_sib_32bit:
test ecx,0FF0000h
jnz address_immediate_sib_nosignextend
test edx,80000000h
jz address_immediate_sib_store
address_immediate_sib_nosignextend:
call address_32bit_prefix
jmp address_immediate_sib_store
address_eip_based: address_eip_based:
mov al,67h mov al,67h
stos byte [edi] stos byte [edi]