Binärfilerna fasm-1.52/examples/elfobj/msgdemo och fasm-1.53/examples/elfobj/msgdemo skiljer Binärfilerna fasm-1.52/fasm och fasm-1.53/fasm skiljer diff --unified --recursive --new-file fasm-1.52/fasm.txt fasm-1.53/fasm.txt --- fasm-1.52/fasm.txt 2004-05-06 10:52:54.000000000 +0200 +++ fasm-1.53/fasm.txt 2004-06-23 10:53:00.000000000 +0200 @@ -5,7 +5,7 @@ ; ,''''; '''', ; ; ; ; ',,,,;, ,,,,,' ; ; ; - flat assembler 1.52 + flat assembler 1.53 Programmer's Manual @@ -123,21 +123,21 @@ destination file. The following is an example of the compilation summary: -flat assembler version 1.52 +flat assembler version 1.53 38 passes, 5.3 seconds, 77824 bytes. In case of error during the compilation process, the program will display an error message. For example, when compiler can't find the input file, it will display the following message: -flat assembler version 1.52 +flat assembler version 1.53 error: source file not found. If the error is connected with a specific part of source code, the source line that caused the error will be also displayed. Also placement of this line in the source is given to help you finding this error, for example: -flat assembler version 1.52 +flat assembler version 1.53 example.asm [3]: mob ax,1 error: illegal instruction. @@ -147,7 +147,7 @@ contains a macroinstruction, also the line in macroinstruction definition that generated the erroneous instruction is displayed: -flat assembler version 1.52 +flat assembler version 1.53 example.asm [6]: stoschar 7 example.asm [3] stoschar [1]: diff --unified --recursive --new-file fasm-1.52/license.txt fasm-1.53/license.txt --- fasm-1.52/license.txt 2004-05-06 10:52:54.000000000 +0200 +++ fasm-1.53/license.txt 2004-06-23 10:53:00.000000000 +0200 @@ -1,5 +1,5 @@ -flat assembler version 1.52 +flat assembler version 1.53 Copyright (c) 1999-2004, Tomasz Grysztar. All rights reserved. diff --unified --recursive --new-file fasm-1.52/source/expressi.inc fasm-1.53/source/expressi.inc --- fasm-1.52/source/expressi.inc 2004-05-06 10:52:54.000000000 +0200 +++ fasm-1.53/source/expressi.inc 2004-06-23 10:53:00.000000000 +0200 @@ -1323,37 +1323,47 @@ xor [ebx+4],eax jmp calculation_loop xor_byte: - cmp dword [edi+4],0 - jne xor_qword - cmp word [edi+2],0 - jne xor_qword - cmp byte [edi+1],0 - jne xor_qword + mov eax,[edi+4] + or eax,[ebx+4] + jnz xor_qword + mov eax,[edi] + or eax,[ebx] + and eax,not 0FFh + jnz xor_qword mov al,[edi] xor [ebx],al jmp calculation_loop xor_word: - cmp dword [edi+4],0 - jne xor_qword - cmp word [edi+2],0 - jne xor_qword + mov eax,[edi+4] + or eax,[ebx+4] + jnz xor_qword + mov ax,[edi+2] + or ax,[ebx+2] + jnz xor_qword mov ax,[edi] xor [ebx],ax jmp calculation_loop xor_dword: - cmp dword [edi+4],0 - jne xor_qword + mov eax,[edi+4] + or eax,[ebx+4] + jnz xor_qword mov eax,[edi] xor [ebx],eax jmp calculation_loop xor_pword: - cmp word [edi+6],0 - jne xor_qword + mov ax,[edi+6] + or ax,[ebx+6] + jnz xor_qword mov eax,[edi] xor [ebx],eax mov ax,[edi+4] xor [ebx+4],ax jmp calculation_loop + shr_negative: + not dword [edi] + not dword [edi+4] + add dword [edi],1 + adc dword [edi+4],0 calculate_shl: mov eax,dword [edi+4] bt eax,31 @@ -1409,12 +1419,6 @@ mov [ebx],eax mov dword [ebx+4],0 jmp calculation_loop - shr_negative: - not dword [edi] - not dword [edi+4] - add dword [edi],1 - adc dword [edi+4],0 - jmp calculate_shl zero_value: mov dword [ebx],0 mov dword [ebx+4],0 diff --unified --recursive --new-file fasm-1.52/source/formats.inc fasm-1.53/source/formats.inc --- fasm-1.52/source/formats.inc 2004-05-06 10:52:54.000000000 +0200 +++ fasm-1.53/source/formats.inc 2004-06-23 10:53:00.000000000 +0200 @@ -553,8 +553,9 @@ shl ecx,9 sub ecx,eax movzx eax,word [esi+2] - add ecx,eax mov edx,edi + add ecx,eax + jz read_stub_code push ecx dec ecx shr ecx,3 @@ -566,6 +567,7 @@ xor eax,eax rep stos dword [edi] pop ecx + read_stub_code: call read call close mov edx,edi @@ -2359,7 +2361,7 @@ mov [ebx+4],eax mov [ebx+8],edi mov al,4 - mov [ebx+10h],al + mov [ebx+10h],eax mov al,111b mov [ebx+14h],eax mov [current_section],ebx diff --unified --recursive --new-file fasm-1.52/source/preproce.inc fasm-1.53/source/preproce.inc --- fasm-1.52/source/preproce.inc 2004-05-06 10:52:54.000000000 +0200 +++ fasm-1.53/source/preproce.inc 2004-06-23 10:53:00.000000000 +0200 @@ -1453,7 +1453,6 @@ or [macro_status],al pop [counter_limit] [counter] pop [macro_block_line_number] [macro_block_line] [macro_block] [macro_constants] - jmp line_preprocessed include_file: diff --unified --recursive --new-file fasm-1.52/source/version.inc fasm-1.53/source/version.inc --- fasm-1.52/source/version.inc 2004-05-06 10:52:54.000000000 +0200 +++ fasm-1.53/source/version.inc 2004-06-23 10:53:00.000000000 +0200 @@ -1,5 +1,5 @@ -; flat assembler version 1.52 +; flat assembler version 1.53 ; Copyright (c) 1999-2004, Tomasz Grysztar. ; All rights reserved. ; @@ -33,7 +33,7 @@ ; cannot simply be copied and put under another distribution licence ; (including the GNU Public Licence). -VERSION_STRING equ "1.52" +VERSION_STRING equ "1.53" VERSION_MAJOR = 1 -VERSION_MINOR = 52 +VERSION_MINOR = 53 diff --unified --recursive --new-file fasm-1.52/source/x86.inc fasm-1.53/source/x86.inc --- fasm-1.52/source/x86.inc 2004-05-06 10:52:54.000000000 +0200 +++ fasm-1.53/source/x86.inc 2004-06-23 10:53:00.000000000 +0200 @@ -5297,6 +5297,8 @@ je mmx_imm8 jmp instruction_assembled sse_xmmreg_xmmreg: + cmp [mmx_prefix],66h + jne sse_xmmreg_xmmreg_ok cmp [extended_code],12h je invalid_operand cmp [extended_code],16h diff --unified --recursive --new-file fasm-1.52/whatsnew.txt fasm-1.53/whatsnew.txt --- fasm-1.52/whatsnew.txt 2004-05-06 10:52:54.000000000 +0200 +++ fasm-1.53/whatsnew.txt 2004-06-23 10:53:00.000000000 +0200 @@ -1,6 +1,13 @@ Visit http://flatassembler.net/ for more information +version 1.53 +[23-06-2004] +------------ +[-] fixed the MZ stub bug in PE formatter +[-] fixed the "movsldup xmm,xmm" problem +[-] other small fixes + version 1.52 [03-04-2004] ------------