Commit 380ab7bd authored by Tomasz Buchert's avatar Tomasz Buchert

New upstream version 1.73.03

parent 628d20cc
No preview for this file type
No preview for this file type
flat assembler version 1.73
Copyright (c) 1999-2017, Tomasz Grysztar.
Copyright (c) 1999-2018, 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-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
init_dpmi_memory:
......
; flat assembler interface for DOS
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, 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-2017, Tomasz Grysztar',0Dh,0Ah,0
_copyright db 'Copyright (c) 1999-2018, Tomasz Grysztar',0Dh,0Ah,0
_usage db 0Dh,0Ah
db 'usage: fasm <source> [output]',0Dh,0Ah
......
; flat assembler interface for DOS
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
segment modes use16
......
; flat assembler interface for DOS
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
go32:
......
; flat assembler interface for Linux
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
format ELF executable 3
......@@ -288,7 +288,7 @@ include 'system.inc'
include '..\version.inc'
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0xA,0
_copyright db 'Copyright (c) 1999-2018, Tomasz Grysztar',0xA,0
_logo db 'flat assembler version ',VERSION_STRING,0
_usage db 0xA
......
; flat assembler interface for Linux
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
O_ACCMODE = 0003o
......
; flat assembler interface for Linux x64
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
format ELF64 executable 3 at 400000h
......@@ -304,7 +304,7 @@ include 'system.inc'
include '..\..\version.inc'
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0xA,0
_copyright db 'Copyright (c) 1999-2018, 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.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
esp equ +rsp
......
; flat assembler interface for Linux x64
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
O_ACCMODE = 0003o
......
; flat assembler interface for Win32
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
format PE console
......@@ -342,7 +342,7 @@ section '.data' data readable writeable
include '..\version.inc'
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0Dh,0Ah,0
_copyright db 'Copyright (c) 1999-2018, 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-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
CREATE_NEW = 1
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
assembler:
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
avx_single_source_pd_instruction_er_evex:
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
out_of_memory:
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
calculate_expression:
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
convert_expression:
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
formatter:
......
; flat assembler interface for Unix/libc
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
format ELF
......@@ -310,7 +310,7 @@ include 'system.inc'
include '..\version.inc'
_copyright db 'Copyright (c) 1999-2017, Tomasz Grysztar',0xA,0
_copyright db 'Copyright (c) 1999-2018, Tomasz Grysztar',0xA,0
_logo db 'flat assembler version ',VERSION_STRING,0
_usage db 0xA
......
; flat assembler interface for Unix/libc
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
extrn malloc
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
_out_of_memory db 'out of memory',0
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
parser:
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
preprocessor:
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
dump_symbols:
......
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
include_variable db 'INCLUDE',0
......@@ -1300,6 +1300,8 @@ instructions_5:
dw sse_ss_instruction-instruction_handler
db 'rdmsr',32h
dw simple_extended_instruction-instruction_handler
db 'rdpid',7
dw rdpid_instruction-instruction_handler
db 'rdpmc',33h
dw simple_extended_instruction-instruction_handler
db 'rdtsc',31h
......@@ -1447,6 +1449,8 @@ instructions_6:
dw bndmov_instruction-instruction_handler
db 'bndstx',1Bh
dw bndstx_instruction-instruction_handler
db 'clzero',0
dw clzero_instruction-instruction_handler
db 'cmovae',43h
dw bs_instruction-instruction_handler
db 'cmovbe',46h
......@@ -1645,6 +1649,8 @@ instructions_6:
dw movpd_instruction-instruction_handler
db 'movups',10h
dw movps_instruction-instruction_handler
db 'mwaitx',0FBh
dw monitor_instruction-instruction_handler
db 'paddsb',0ECh
dw basic_mmx_instruction-instruction_handler
db 'paddsw',0EDh
......@@ -2011,6 +2017,10 @@ instructions_6:
dw simple_instruction_0f_01-instruction_handler
db 'xrstor',101b
dw fxsave_instruction-instruction_handler
db 'xsavec',4
dw xsaves_instruction-instruction_handler
db 'xsaves',5
dw xsaves_instruction-instruction_handler
db 'xsetbv',0D1h
dw simple_instruction_0f_01-instruction_handler
instructions_7:
......@@ -2023,7 +2033,7 @@ instructions_7:
db 'blsfill',12h
dw tbm_instruction-instruction_handler
db 'clflush',111b
dw fxsave_instruction-instruction_handler
dw clflush_instruction-instruction_handler
db 'cmovnae',42h
dw bs_instruction-instruction_handler
db 'cmovnbe',47h
......@@ -2113,7 +2123,7 @@ instructions_7:
db 'invvpid',81h
dw vmx_inv_instruction-instruction_handler
db 'ldmxcsr',10b
dw fxsave_instruction-instruction_handler
dw stmxcsr_instruction-instruction_handler
db 'loopned',0E0h
dw loop_instruction_32bit-instruction_handler
db 'loopneq',0E0h
......@@ -2225,7 +2235,7 @@ instructions_7:
db 'segment',0
dw segment_directive-instruction_handler
db 'stmxcsr',11b
dw fxsave_instruction-instruction_handler
dw stmxcsr_instruction-instruction_handler
db 'syscall',05h
dw simple_extended_instruction-instruction_handler
db 'sysexit',35h
......@@ -2474,6 +2484,8 @@ instructions_7:
dw avx_single_source_instruction_38_noevex-instruction_handler
db 'vtestps',0Eh
dw avx_single_source_instruction_38_noevex-instruction_handler
db 'xrstors',3
dw xsaves_instruction-instruction_handler
db 'xsave64',100b
dw fxsave_instruction_64bit-instruction_handler
instructions_8:
......@@ -2591,6 +2603,8 @@ instructions_8:
dw mask_instruction_w-instruction_handler
db 'maskmovq',0
dw maskmovq_instruction-instruction_handler
db 'monitorx',0FAh
dw monitor_instruction-instruction_handler
db 'movmskpd',0
dw movmskpd_instruction-instruction_handler
db 'movmskps',0
......@@ -2983,8 +2997,12 @@ instructions_8:
dw prefix_instruction-instruction_handler
db 'xrstor64',101b
dw fxsave_instruction_64bit-instruction_handler
db 'xsavec64',4
dw xsaves_instruction_64bit-instruction_handler
db 'xsaveopt',110b
dw fxsave_instruction-instruction_handler
db 'xsaves64',5
dw xsaves_instruction_64bit-instruction_handler
instructions_9:
db 'cmpxchg8b',8
dw cmpxchgx_instruction-instruction_handler
......@@ -3404,6 +3422,8 @@ instructions_9:
dw avx_pd_instruction-instruction_handler
db 'vunpcklps',14h
dw avx_ps_instruction-instruction_handler
db 'xrstors64',3
dw xsaves_instruction_64bit-instruction_handler
instructions_10:
db 'aesdeclast',0DFh
dw sse4_instruction_66_38-instruction_handler
......
; flat assembler core variables
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
; Variables which have to be set up by interface:
......
; flat assembler version 1.73
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, 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.73.02"
VERSION_STRING equ "1.73.03"
VERSION_MAJOR = 1
VERSION_MINOR = 73
; flat assembler core
; Copyright (c) 1999-2017, Tomasz Grysztar.
; Copyright (c) 1999-2018, Tomasz Grysztar.
; All rights reserved.
simple_instruction_except64:
......@@ -5449,12 +5449,21 @@ pmovsxdq_instruction:
mov [opcode_prefix],66h
ret
xsaves_instruction_64bit:
call operand_64bit
xsaves_instruction:
mov ah,0C7h
jmp xsave_common
fxsave_instruction_64bit:
call operand_64bit
fxsave_instruction:
mov [extended_code],0AEh
mov ah,0AEh
xor cl,cl
xsave_common:
mov [base_code],0Fh
mov [extended_code],ah
mov [postbyte_register],al
mov [mmx_size],cl
lods byte [esi]
call get_size_operator
cmp al,'['
......@@ -5462,22 +5471,19 @@ fxsave_instruction:
call get_address
mov ah,[operand_size]
or ah,ah
jz fxsave_size_ok
mov al,[postbyte_register]
cmp al,111b
je clflush_size_check
cmp al,10b
jb invalid_operand_size
cmp al,11b
ja invalid_operand_size
cmp ah,4
jne invalid_operand_size
jmp fxsave_size_ok
clflush_size_check:
cmp ah,1
jz xsave_size_ok
cmp ah,[mmx_size]
jne invalid_operand_size
fxsave_size_ok:
xsave_size_ok:
jmp instruction_ready
clflush_instruction:
mov ah,0AEh
mov cl,1
jmp xsave_common
stmxcsr_instruction:
mov ah,0AEh
mov cl,4
jmp xsave_common
prefetch_instruction:
mov [extended_code],18h
prefetch_mem_8bit:
......@@ -5823,6 +5829,21 @@ adx_instruction:
jne invalid_operand_size
call operand_64bit
jmp nomem_instruction_ready
rdpid_instruction:
mov [postbyte_register],al
mov [extended_code],0C7h
mov [base_code],0Fh
mov [opcode_prefix],0F3h
call take_register
cmp [code_type],64
je rdpid_64bit
cmp ah,4
jne invalid_operand_size
jmp nomem_instruction_ready
rdpid_64bit:
cmp ah,8
jne invalid_operand_size
jmp nomem_instruction_ready
vmclear_instruction:
mov [opcode_prefix],66h
......@@ -5965,6 +5986,20 @@ skinit_instruction:
jne invalid_operand
mov al,0DEh
jmp simple_instruction_0f_01
clzero_instruction:
call take_register
or al,al
jnz invalid_operand
mov al,0FCh
cmp [code_type],64
je clzero_64bit
cmp ah,4
jne invalid_operand
jmp simple_instruction_0f_01
clzero_64bit:
cmp ah,8
jne invalid_operand
jmp simple_instruction_0f_01
invlpga_instruction:
push eax
mov [base_code],0Fh
......
This diff is collapsed.
......@@ -2,6 +2,12 @@
Visit http://flatassembler.net/ for more information.
version 1.73.03 (Apr 15, 2018)
[+] Added "rdpid", "xsavec", "xsaves", "xrstors", "clzero", "monitorx" and "mwaitx"
instructions.
version 1.73.02 (Dec 16, 2017)
[-] Fixed a bug in the storage of "virtual as" blocks.
......
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