Commit cffa7931 authored by Tomasz Buchert's avatar Tomasz Buchert

New upstream version 1.71.59

parent b65116a5
No preview for this file type
No preview for this file type
flat assembler version 1.71
Copyright (c) 1999-2016, Tomasz Grysztar.
Copyright (c) 1999-2017, Tomasz Grysztar.
All rights reserved.
This program is free for commercial and non-commercial use as long as
......
; flat assembler interface for DOS
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
init_dpmi_memory:
......
; flat assembler interface for DOS
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
format MZ
......@@ -336,7 +336,7 @@ get_params:
include '..\version.inc'
_logo db 'flat assembler version ',VERSION_STRING,24h
_copyright db 'Copyright (c) 1999-2016, Tomasz Grysztar',0Dh,0Ah,0
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0Dh,0Ah,0
_usage db 0Dh,0Ah
db 'usage: fasm <source> [output]',0Dh,0Ah
......
; flat assembler interface for DOS
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
segment modes use16
......
; flat assembler interface for DOS
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
go32:
......
; flat assembler interface for Linux
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
format ELF executable 3
......@@ -280,7 +280,7 @@ include 'system.inc'
include '..\version.inc'
_copyright db 'Copyright (c) 1999-2016, Tomasz Grysztar',0xA,0
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0xA,0
_logo db 'flat assembler version ',VERSION_STRING,0
_usage db 0xA
......
; flat assembler interface for Linux
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
O_ACCMODE = 0003o
......
; flat assembler interface for Linux x64
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
format ELF64 executable 3 at 400000h
......@@ -296,7 +296,7 @@ include 'system.inc'
include '..\..\version.inc'
_copyright db 'Copyright (c) 1999-2016, Tomasz Grysztar',0xA,0
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0xA,0
_logo db 'flat assembler version ',VERSION_STRING,0
_usage db 0xA
......
; flat assembler interface for Linux x64
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
esp equ +rsp
macro pushD [arg]
......
; flat assembler interface for Linux x64
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
O_ACCMODE = 0003o
......
; flat assembler interface for Win32
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
format PE console
......@@ -328,7 +328,7 @@ section '.data' data readable writeable
include '..\version.inc'
_copyright db 'Copyright (c) 1999-2016, Tomasz Grysztar',0Dh,0Ah,0
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0Dh,0Ah,0
_logo db 'flat assembler version ',VERSION_STRING,0
_usage db 0Dh,0Ah
......
; flat assembler interface for Win32
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
CREATE_NEW = 1
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
assembler:
......@@ -1303,28 +1303,6 @@ break_directive:
push ebx
jmp stop_while
data_unicode:
or [base_code],-1
jmp define_words
data_words:
mov [base_code],0
define_words:
push define_data_word
jmp define_data
data_dwords:
push define_data_dword
jmp define_data
data_pwords:
push define_data_pword
jmp define_data
data_qwords:
push define_data_qword
jmp define_data
data_twords:
push define_data_tword
jmp define_data
data_bytes:
push define_data_byte
define_data:
cmp edi,[tagged_blocks]
jae out_of_memory
......@@ -1349,6 +1327,7 @@ define_data:
duplicated_values:
cmp edi,[tagged_blocks]
jae out_of_memory
clc
call near dword [esp+8]
lods byte [esi]
cmp al,','
......@@ -1364,6 +1343,7 @@ define_data:
cmp edi,[tagged_blocks]
jae out_of_memory
push eax esi
clc
call near dword [esp+8]
pop ebx eax
dec eax
......@@ -1387,19 +1367,19 @@ define_data:
simple_data_value:
cmp edi,[tagged_blocks]
jae out_of_memory
clc
call near dword [esp]
data_defined:
lods byte [esi]
cmp al,','
je define_data
dec esi
add esp,4
jmp instruction_assembled
stc
ret
data_bytes:
call define_data
define_data_byte:
jc instruction_assembled
lods byte [esi]
cmp al,'('
je get_byte
......@@ -1437,7 +1417,15 @@ define_data_byte:
undefined_data_ok:
mov [undefined_data_end],edi
ret
data_unicode:
or [base_code],-1
jmp define_words
data_words:
mov [base_code],0
define_words:
call define_data
define_data_word:
jc instruction_assembled
lods byte [esi]
cmp al,'('
je get_word
......@@ -1474,7 +1462,10 @@ define_data_word:
word_string_ok:
inc esi
ret
data_dwords:
call define_data
define_data_dword:
jc instruction_assembled
lods byte [esi]
cmp al,'('
je get_dword
......@@ -1516,7 +1507,10 @@ define_data_dword:
call mark_relocation
stos word [edi]
ret
data_pwords:
call define_data
define_data_pword:
jc instruction_assembled
lods byte [esi]
cmp al,'('
je get_pword
......@@ -1562,7 +1556,10 @@ define_data_pword:
call mark_relocation
stos word [edi]
ret
data_qwords:
call define_data
define_data_qword:
jc instruction_assembled
lods byte [esi]
cmp al,'('
je get_qword
......@@ -1581,7 +1578,10 @@ define_data_qword:
mov eax,edx
stos dword [edi]
ret
data_twords:
call define_data
define_data_tword:
jc instruction_assembled
lods byte [esi]
cmp al,'('
je get_tword
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
avx_single_source_pd_instruction_er_evex:
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
out_of_memory:
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
calculate_expression:
......@@ -1064,7 +1064,7 @@ calculate_expression:
mov cx,bx
neg cx
inc cx
cmp cx,52
cmp cx,52+1
ja value_out_of_range
cmp cx,32
jb fp_qword_small_shift
......@@ -1089,6 +1089,9 @@ calculate_expression:
fp_qword_exp_ok:
shl ebx,20
or edx,ebx
jnz fp_qword_store
or eax,eax
jz value_out_of_range
fp_qword_store:
mov bl,[esi+11]
shl ebx,31
......@@ -1122,7 +1125,7 @@ calculate_expression:
mov cx,bx
neg cx
inc cx
cmp cx,10
cmp cx,10+1
ja value_out_of_range
xor bx,bx
shr ax,cl
......@@ -1135,6 +1138,7 @@ calculate_expression:
fp_word_exp_ok:
shl bx,10
or ax,bx
jz value_out_of_range
fp_word_store:
mov bl,[esi+11]
shl bx,15
......@@ -1169,7 +1173,7 @@ calculate_expression:
mov cx,bx
neg cx
inc cx
cmp cx,23
cmp cx,23+1
ja value_out_of_range
xor bx,bx
shr eax,cl
......@@ -1182,6 +1186,7 @@ calculate_expression:
fp_dword_exp_ok:
shl ebx,23
or eax,ebx
jz value_out_of_range
fp_dword_store:
mov bl,[esi+11]
shl ebx,31
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
convert_expression:
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
formatter:
......
; flat assembler interface for Unix/libc
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
format ELF
......@@ -302,7 +302,7 @@ include 'system.inc'
include '..\version.inc'
_copyright db 'Copyright (c) 1999-2016, Tomasz Grysztar',0xA,0
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0xA,0
_logo db 'flat assembler version ',VERSION_STRING,0
_usage db 0xA
......
; flat assembler interface for Unix/libc
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
extrn malloc
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
_out_of_memory db 'out of memory',0
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
parser:
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
preprocessor:
......@@ -558,7 +558,7 @@ get_directive:
jne next_directive
repe cmps byte [esi],[edi]
jb no_directive
je directive_handler
je directive_found
next_directive:
mov edi,ebx
add edi,2
......@@ -568,12 +568,17 @@ get_directive:
mov ecx,ebp
stc
ret
directive_found:
call get_directive_handler_base
directive_handler:
lea esi,[edx+ebp]
movzx eax,word [ebx]
add eax,directive_handler
movzx ecx,word [ebx]
add eax,ecx
clc
ret
get_directive_handler_base:
mov eax,[esp]
ret
preprocess_line:
mov eax,esp
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
dump_symbols:
......
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
include_variable db 'INCLUDE',0
......
; flat assembler core variables
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
; Variables which have to be set up by interface:
......
; flat assembler version 1.71
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
;
; This programs is free for commercial and non-commercial use as long as
......@@ -33,7 +33,7 @@
; cannot simply be copied and put under another distribution licence
; (including the GNU Public Licence).
VERSION_STRING equ "1.71.58"
VERSION_STRING equ "1.71.59"
VERSION_MAJOR = 1
VERSION_MINOR = 71
; flat assembler core
; Copyright (c) 1999-2016, Tomasz Grysztar.
; Copyright (c) 1999-2017, Tomasz Grysztar.
; All rights reserved.
simple_instruction_except64:
......
......@@ -2,6 +2,13 @@
Visit http://flatassembler.net/ for more information.
version 1.71.59 (Jan 20,2017)
[-] Corrected range-checking for minimal denormal floating-point values.
[-] Other minor fixes.
version 1.71.58 (Dec 08, 2016)
[+] Added a 64-bit ELF executable version of flat assembler for Linux. It has
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment