From c5483afe00c080563671dcfad535501cc3f9a317 Mon Sep 17 00:00:00 2001 From: Tomasz Grysztar Date: Wed, 6 Mar 2002 12:00:00 +0000 Subject: [PATCH] release 1.32 --- FASM.TXT | 3 ++- LICENSE.TXT | 3 ++- SOURCE/ASSEMBLE.INC | 1 + SOURCE/EXPRESSI.INC | 5 +++++ SOURCE/FASM.ASM | 4 ++++ SOURCE/SYSTEM.INC | 6 +++++- SOURCE/TABLES.INC | 8 ++++---- SOURCE/VERSION.INC | 5 +++-- WHATSNEW.TXT | 11 ++++++++++- 9 files changed, 36 insertions(+), 10 deletions(-) diff --git a/FASM.TXT b/FASM.TXT index 60f7ba0..ed4b53f 100644 --- a/FASM.TXT +++ b/FASM.TXT @@ -9,7 +9,7 @@ ÛÛ Û ÛÛ Ü ÞÛ ÞÛ Û Ý ßßßßßß ßßßßß ßß ßßßßßß ß ß ß - flat assembler version 1.31 + flat assembler version 1.32 Copyright (c) 1999-2002, Tomasz Grysztar. All rights reserved. @@ -536,3 +536,4 @@ Thanks to: be started and all others who helped me (there were many of them)! + diff --git a/LICENSE.TXT b/LICENSE.TXT index 670f207..08209ad 100644 --- a/LICENSE.TXT +++ b/LICENSE.TXT @@ -1,5 +1,5 @@ -flat assembler version 1.31 +flat assembler version 1.32 Copyright (c) 1999-2002, Tomasz Grysztar All rights reserved. @@ -35,3 +35,4 @@ The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence (including the GNU Public Licence). + diff --git a/SOURCE/ASSEMBLE.INC b/SOURCE/ASSEMBLE.INC index 948e2fe..5de9d15 100644 --- a/SOURCE/ASSEMBLE.INC +++ b/SOURCE/ASSEMBLE.INC @@ -5616,6 +5616,7 @@ basic_fpu_instruction: je basic_fpu_single_streg or al,al jz basic_fpu_st0 + xor ah,1 shl ah,3 or al,ah mov [postbyte_register],al diff --git a/SOURCE/EXPRESSI.INC b/SOURCE/EXPRESSI.INC index b87aa44..a7b1993 100644 --- a/SOURCE/EXPRESSI.INC +++ b/SOURCE/EXPRESSI.INC @@ -352,7 +352,11 @@ get_fp_value: lods byte [esi] cmp al,'.' je fp_character_dot + if CASE_INSENSITIVE + cmp al,'e' + else cmp al,'E' + end if je fp_character_exp cmp al,'0' jb not_fp_value @@ -2038,3 +2042,4 @@ get_logical_value: pop bx xor al,bl ret + diff --git a/SOURCE/FASM.ASM b/SOURCE/FASM.ASM index 08e3e05..db72c99 100644 --- a/SOURCE/FASM.ASM +++ b/SOURCE/FASM.ASM @@ -282,6 +282,7 @@ section '.idata' import data readable writeable GetStdHandle dd rva _GetStdHandle VirtualAlloc dd rva _VirtualAlloc GetTickCount dd rva _GetTickCount + GlobalMemoryStatus dd rva _GlobalMemoryStatus dd 0 kernel_name db 'KERNEL32.DLL',0 @@ -306,5 +307,8 @@ section '.idata' import data readable writeable db 'VirtualAlloc',0 _GetTickCount dw 0 db 'GetTickCount',0 + _GlobalMemoryStatus dw 0 + db 'GlobalMemoryStatus',0 section '.reloc' fixups data readable discardable + diff --git a/SOURCE/SYSTEM.INC b/SOURCE/SYSTEM.INC index ba65f42..70f2e4b 100644 --- a/SOURCE/SYSTEM.INC +++ b/SOURCE/SYSTEM.INC @@ -38,7 +38,9 @@ PAGE_GUARD = 100h PAGE_NOCACHE = 200h init_memory: - mov eax,1000000h + push buffer + call [GlobalMemoryStatus] + mov eax,dword [buffer+8] allocate_memory: mov edx,eax shr edx,3 @@ -318,3 +320,5 @@ line_number_start db ' [',0 line_data_start db ':',0Dh,0Ah,0 macro dm string { db string,0 } + + diff --git a/SOURCE/TABLES.INC b/SOURCE/TABLES.INC index bc63274..440cec8 100644 --- a/SOURCE/TABLES.INC +++ b/SOURCE/TABLES.INC @@ -953,7 +953,7 @@ instructions_5: dw fcomi_instruction-assembler db 'fcomp',3 dw basic_fpu_instruction-assembler - db 'fdivp',6 + db 'fdivp',7 dw faddp_instruction-assembler db 'fdivr',7 dw basic_fpu_instruction-assembler @@ -991,7 +991,7 @@ instructions_5: dw fldcw_instruction-assembler db 'fstsw',0 dw fstsw_instruction-assembler - db 'fsubp',4 + db 'fsubp',5 dw faddp_instruction-assembler db 'fsubr',5 dw basic_fpu_instruction-assembler @@ -1251,7 +1251,7 @@ instructions_6: dw fcomip_instruction-assembler db 'fcompp',0 dw fcompp_instruction-assembler - db 'fdivrp',7 + db 'fdivrp',6 dw faddp_instruction-assembler db 'ficomp',3 dw fi_instruction-assembler @@ -1287,7 +1287,7 @@ instructions_6: dw simple_fpu_instruction-assembler db 'fstenv',6 dw fldenv_instruction-assembler - db 'fsubrp',5 + db 'fsubrp',4 dw faddp_instruction-assembler db 'fucomi',0E8h dw fcomi_instruction-assembler diff --git a/SOURCE/VERSION.INC b/SOURCE/VERSION.INC index 2977451..1e96f1e 100644 --- a/SOURCE/VERSION.INC +++ b/SOURCE/VERSION.INC @@ -33,7 +33,8 @@ ; cannot simply be copied and put under another distribution licence ; (including the GNU Public Licence). -VERSION_STRING equ "1.31" +VERSION_STRING equ "1.32" VERSION_MAJOR = 1 -VERSION_MINOR = 31 +VERSION_MINOR = 32 + diff --git a/WHATSNEW.TXT b/WHATSNEW.TXT index 07f0fe7..cd154a8 100644 --- a/WHATSNEW.TXT +++ b/WHATSNEW.TXT @@ -2,12 +2,20 @@ Questions or comments please send to fasm@metro-nt.pl Visit http://fasm.metro-nt.pl for more examples and tools +version 1.32 +[06-03-2002] +------------ +[+] changed memory management for Win32 +[+] mandelbrot example added +[-] fixed scientific notation support for case insensitive version + version 1.31 -[03-02-2002] +[04-02-2002] ------------ [+] updated includes in Win32 examples [+] expression parser slightly improved [-] fixed bugs with bound and bswap instructions +[-] fixed fsub and fdiv bugs version 1.30 [18-01-2002] @@ -142,3 +150,4 @@ version 1.00 [19-06-2000] ------------ [+] first serious release +