forked from KolibriOS/kolibrios
fasm 1.69.10
git-svn-id: svn://kolibrios.org@1242 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
297880faa4
commit
65bf04ac79
@ -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
|
||||||
|
@ -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:
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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]
|
||||||
|
Loading…
Reference in New Issue
Block a user