Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3010 → Rev 3009

/programs/develop/fasm/trunk/WHATSNEW.TXT
2,23 → 2,9
Visit http://flatassembler.net/ for more information.
 
 
version 1.70.03 (Jun 29, 2012)
 
[-] Allowed to freely upgrade or downgrade the relocatable addresses in
object format between the 32-bit or 64-bit size.
 
 
version 1.70.02 (May 22, 2012)
 
[-] Corrected the optimization of segment prefixes when the extended syntax
of some string instructions ("cmps", "lods", "movs" and "outs") is
used in long mode. Now it is consistent with optimizations done with
all the other instructions.
 
 
version 1.70.01 (Apr 30, 2012)
 
[-] Corrected a recently introduced bug that caused some illegal
[-] Corrected a recently introduced bug that caused some incorrect
address expressions to cause an error prematurely during the
parsing stage.
 
33,7 → 19,7
[+] Extended the syntax of "rept" directive to allow numerical expressions
to be calculated by preprocessor in its arguments.
 
[+] Added "large" and "NX" settings for PE format.
[+] Added "large" and "NX" settings from PE format.
 
[+] Allowed PE fixups to be resolved anywhere in the generated executable.
 
/programs/develop/fasm/trunk/exprcalc.inc
1563,12 → 1563,12
jz address_size_ok
cmp al,ah
je address_size_ok
cmp ax,0408h
je address_sizes_mixed
cmp ax,0804h
jne address_sizes_do_not_agree
address_sizes_mixed:
cmp [value_type],2
ja value_type_correction_ok
mov [value_type],2
value_type_correction_ok:
mov eax,[edi]
cdq
cmp edx,[edi+4]
1802,11 → 1802,8
jnz relative_offset_unallowed
cmp bl,6
je plt_relative_offset
mov bh,[labels_type]
cmp bl,bh
cmp bl,[labels_type]
je set_relative_offset_type
cmp bx,0402h
je set_relative_offset_type
relative_offset_unallowed:
call recoverable_misuse
set_relative_offset_type:
/programs/develop/fasm/trunk/version.inc
33,7 → 33,7
; cannot simply be copied and put under another distribution licence
; (including the GNU Public Licence).
 
VERSION_STRING equ "1.70.03"
VERSION_STRING equ "1.70.01"
 
VERSION_MAJOR = 1
VERSION_MINOR = 70
/programs/develop/fasm/trunk/x86_64.inc
3312,8 → 3312,10
je invalid_address_size
call address_16bit_prefix
movs_store:
xor ebx,ebx
call store_segment_prefix_if_necessary
cmp [segment_register],4
je movs_segment_ok
call store_segment_prefix
movs_segment_ok:
mov al,0A4h
movs_check_size:
mov bl,[operand_size]
3357,8 → 3359,10
je invalid_address_size
call address_16bit_prefix
lods_store:
xor ebx,ebx
call store_segment_prefix_if_necessary
cmp [segment_register],4
je lods_segment_ok
call store_segment_prefix
lods_segment_ok:
mov al,0ACh
jmp movs_check_size
stos_instruction:
3448,8 → 3452,10
je invalid_address_size
call address_16bit_prefix
cmps_store:
xor ebx,ebx
call store_segment_prefix_if_necessary
cmp [segment_register],4
je cmps_segment_ok
call store_segment_prefix
cmps_segment_ok:
mov al,0A6h
jmp movs_check_size
ins_instruction:
3531,8 → 3537,10
je invalid_address_size
call address_16bit_prefix
outs_store:
xor ebx,ebx
call store_segment_prefix_if_necessary
cmp [segment_register],4
je outs_segment_ok
call store_segment_prefix
outs_segment_ok:
mov al,6Eh
jmp ins_check_size
xlat_instruction:
6872,8 → 6880,6
je address_immediate_sib
test ch,44h
jnz address_immediate_32bit
test ch,88h
jnz address_immediate_32bit
test ch,22h
jnz address_immediate_16bit
or ch,ch