/programs/develop/fasm/trunk/avx.inc |
---|
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/develop/fasm/trunk/build_en.bat |
---|
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/develop/fasm/trunk/build_ru.bat |
---|
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/develop/fasm/trunk/exprcalc.inc |
---|
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/develop/fasm/trunk/exprpars.inc |
---|
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/develop/fasm/trunk/formats.inc |
---|
3707,6 → 3707,7 |
add eax,edi |
adc ebp,0 |
adc cl,0 |
mov edx,ebp |
elf_exe_addressing_setup: |
push eax |
call init_addressing_space |
3938,6 → 3939,7 |
add eax,edi |
sub eax,edx |
mov [ebx+10h],eax |
and [undefined_data_end],0 |
mov eax,[ebx+8] |
cmp byte [ebx],1 |
jne elf_segment_position_ok |
4067,6 → 4069,7 |
add eax,edi |
sub eax,edx |
mov [ebx+20h],eax |
and [undefined_data_end],0 |
mov eax,[ebx+10h] |
mov edx,[ebx+10h+4] |
cmp byte [ebx],1 |
/programs/develop/fasm/trunk/license.txt |
---|
1,6 → 1,6 |
flat assembler version 1.70 |
Copyright (c) 1999-2012, Tomasz Grysztar. |
flat assembler version 1.71 |
Copyright (c) 1999-2013, Tomasz Grysztar. |
All rights reserved. |
This program is free for commercial and non-commercial use as long as |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/develop/fasm/trunk/messages.inc |
---|
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/develop/fasm/trunk/preproce.inc |
---|
48,12 → 48,45 |
jc main_file_not_found |
mov edi,[memory_start] |
call preprocess_file |
cmp [macro_status],0 |
je process_postponed |
mov eax,[error_line] |
mov [current_line],eax |
cmp [macro_status],0 |
jne incomplete_macro |
jmp incomplete_macro |
process_postponed: |
mov edx,hash_tree |
mov ecx,32 |
find_postponed_list: |
mov edx,[edx] |
or edx,edx |
loopnz find_postponed_list |
jz preprocessing_finished |
process_postponed_list: |
mov eax,[edx] |
or eax,eax |
jz preprocessing_finished |
push edx |
mov ebx,edx |
find_earliest_postponed: |
mov eax,[edx] |
or eax,eax |
jz earliest_postponed_found |
mov ebx,edx |
mov edx,eax |
jmp find_earliest_postponed |
earliest_postponed_found: |
mov [ebx],eax |
call use_postponed_macro |
pop edx |
jmp process_postponed_list |
preprocessing_finished: |
mov [source_start],edi |
ret |
use_postponed_macro: |
lea esi,[edi-1] |
push ecx esi |
mov [struc_name],0 |
jmp use_macro |
preprocess_file: |
push [memory_end] |
691,6 → 724,9 |
ret |
add_preprocessor_symbol: |
push edi esi |
xor eax,eax |
or cl,cl |
jz reshape_hash |
cmp ch,11b |
je preprocessor_symbol_name_ok |
push ecx |
701,6 → 737,7 |
pop ecx |
preprocessor_symbol_name_ok: |
call calculate_hash |
reshape_hash: |
mov ebp,eax |
and ebp,3FFh |
shr eax,10 |
1013,6 → 1050,27 |
lods dword [esi] |
add esi,eax |
jmp skip_macro_block |
postpone_directive: |
push esi |
mov esi,edx |
xor ecx,ecx |
call add_preprocessor_symbol |
mov eax,[current_line] |
mov [edx+12],eax |
pop esi |
mov [edx+8],esi |
mov al,[macro_status] |
and al,0F0h |
or al,1 |
mov [macro_status],al |
mov eax,[current_line] |
mov [error_line],eax |
lods byte [esi] |
or al,al |
jz line_preprocessed |
cmp al,'{' |
jne unexpected_characters |
jmp found_macro_block |
rept_directive: |
mov [base_code],0 |
jmp define_instant_macro |
1987,8 → 2045,21 |
stos dword [edi] |
jmp macro_line_header_ok |
instant_macro_line_header: |
mov eax,[macro_line] |
add eax,16+1 |
mov eax,[esp] |
add eax,16 |
find_defining_directive: |
inc eax |
cmp byte [eax-1],3Bh |
je defining_directive_ok |
cmp byte [eax-1],1Ah |
jne find_defining_directive |
push eax |
movzx eax,byte [eax] |
inc eax |
add [esp],eax |
pop eax |
jmp find_defining_directive |
defining_directive_ok: |
stos dword [edi] |
mov eax,ecx |
stos dword [edi] |
/programs/develop/fasm/trunk/symbdump.inc |
---|
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/programs/develop/fasm/trunk/tables.inc |
---|
21,6 → 21,8 |
dw define_macro-directive_handler |
db 5,'match' |
dw match_directive-directive_handler |
db 8,'postpone' |
dw postpone_directive-directive_handler |
db 5,'purge' |
dw purge_macro-directive_handler |
db 4,'rept' |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/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.71.13" |
VERSION_STRING equ "1.71.16" |
VERSION_MAJOR = 1 |
VERSION_MINOR = 71 |
/programs/develop/fasm/trunk/whatsnew.txt |
---|
2,6 → 2,128 |
Visit http://flatassembler.net/ for more information. |
version 1.71.16 (Oct 30, 2013) |
[-] Fixed some bugs in the ELF executable formatter. |
version 1.71.15 (Oct 26, 2013) |
[-] Fixed some bugs inadvertently introduced in the previous release. |
version 1.71.14 (Oct 25, 2013) |
[+] Added "postpone" directive to preprocessor. |
version 1.71.13 (Sep 09, 2013) |
[-] Fixed a bug that caused the expressions containing external symbols |
to overflow from time to time. |
version 1.71.12 (Aug 04, 2013) |
[-] Expressions in square brackets were incorrectly treated as valid numerical |
values when used in some logical expressions. |
[-] A previous fix to "store" directive did not apply to all the cases when it |
was incorrectly leaving the data marked as uninitialized. The new fix |
addresses this issue. |
version 1.71.11 (Jul 09, 2013) |
[-] Modifying a value in uninitialized data block with "store" directive will |
now correctly mark this data as initialized when it is in a different |
addressing space. |
[-] Missing quote will no longer cause the symbols generator to hang or crash. |
[-] Address range restrictions for addressing modes no longer apply to addresses |
provided to assembler directives like "label", "virtual" or "load". |
version 1.71.10 (Apr 03, 2013) |
[-] Fixed a crashing "heap" directive in 64-bit PE format. |
version 1.71.09 (Mar 30, 2013) |
[-] "use16","use32" and "use64" no longer allow to put another instruction in |
the same line. |
[-] Fixed a bug in parser that caused it to hang while processing some |
specific ill-structured preprocessed lines. |
[-] Modified memory allocation algorithm on Windows machines with large RAM. |
version 1.71.08 (Mar 08, 2013) |
[-] Fixed a bug that caused "irp" to skip processing a list with one empty |
element when default value for iterating variable was specified. |
version 1.71.07 (Dec 23, 2012) |
[-] Fixed a bug that was causing "used" operator to give incorrect results |
in some very specific cases. |
version 1.71.06 (Nov 22, 2012) |
[-] Fixed a few bugs caused by unnecesarily strong restrictions on allowed |
types of relocatable values in some places (like "label" directive). |
version 1.71.05 (Oct 15, 2012) |
[-] Fixed a bug which caused "load" and "store" directives to sometimes |
fail when assembler had preallocated very large amount of memory. |
version 1.71.04 (Oct 10, 2012) |
[-] Fixed another bug in "org" directive, which was causing it to deal |
incorrectly with negative addresses. |
version 1.71.03 (Sep 27, 2012) |
[-] Fixed a bug in "org" directive introduced by recent changes, which |
was manifesting with bases larger than 31-bit. |
version 1.71.02 (Sep 26, 2012) |
[-] Expression calculator now allows to calculate the difference of |
relocatable addresses in a reverse order (first substracting/negating |
and then adding the other one). |
version 1.71.01 (Sep 23, 2012) |
[+] Added support for ADX, RDSEED and SMAP instruction sets. |
[-] Fixed the bugs related to creating a new addressing space inside the |
virtual block with "org" directive. |
version 1.71.00 (Sep 21, 2012) |
[+] Added ability to define a special kind of label identifying the |
addressing space. This label can the be used with "load" or "store" |
directives to allow operations on bytes in any addressing space, |
not just the current one. This special label is defined by following |
its name with double colon, and can only be used with "load" and |
"store" directive, where address can now be specified in two parts, |
first the adressing space label, then the colon and then the |
address inside that addressing space. |
version 1.70.03 (Jun 29, 2012) |
[-] Allowed to freely upgrade or downgrade the relocatable addresses in |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |